diff options
author | Andrew Dolgov <[email protected]> | 2021-03-01 18:36:47 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-03-01 18:36:47 +0300 |
commit | f38be747d132d754801c46ee3df15f8c27a03762 (patch) | |
tree | e5d8ad7d7e099da7e4662a5b0e504893d3d8b1b3 /vendor/j4mie/idiorm/demo.php | |
parent | f96abd2b52b9de5eac3651594ca32c6a4023c3e3 (diff) |
initial for idiorm
Diffstat (limited to 'vendor/j4mie/idiorm/demo.php')
-rw-r--r-- | vendor/j4mie/idiorm/demo.php | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/vendor/j4mie/idiorm/demo.php b/vendor/j4mie/idiorm/demo.php new file mode 100644 index 000000000..771f48a2e --- /dev/null +++ b/vendor/j4mie/idiorm/demo.php @@ -0,0 +1,81 @@ +<?php + + // ------------------- // + // --- Idiorm Demo --- // + // ------------------- // + + // Note: This is just about the simplest database-driven webapp it's possible to create + // and is designed only for the purpose of demonstrating how Idiorm works. + + // In case it's not obvious: this is not the correct way to build web applications! + + // Require the idiorm file + require_once("idiorm.php"); + + // Connect to the demo database file + ORM::configure('sqlite:./demo.sqlite'); + + // This grabs the raw database connection from the ORM + // class and creates the table if it doesn't already exist. + // Wouldn't normally be needed if the table is already there. + $db = ORM::get_db(); + $db->exec(" + CREATE TABLE IF NOT EXISTS contact ( + id INTEGER PRIMARY KEY, + name TEXT, + email TEXT + );" + ); + + // Handle POST submission + if (!empty($_POST)) { + + // Create a new contact object + $contact = ORM::for_table('contact')->create(); + + // SHOULD BE MORE ERROR CHECKING HERE! + + // Set the properties of the object + $contact->name = $_POST['name']; + $contact->email = $_POST['email']; + + // Save the object to the database + $contact->save(); + + // Redirect to self. + header('Location: ' . basename(__FILE__)); + exit; + } + + // Get a list of all contacts from the database + $count = ORM::for_table('contact')->count(); + $contact_list = ORM::for_table('contact')->find_many(); +?> + +<html> + <head> + <title>Idiorm Demo</title> + </head> + + <body> + + <h1>Idiorm Demo</h1> + + <h2>Contact List (<?php echo $count; ?> contacts)</h2> + <ul> + <?php foreach ($contact_list as $contact): ?> + <li> + <strong><?php echo $contact->name ?></strong> + <a href="mailto:<?php echo $contact->email; ?>"><?php echo $contact->email; ?></a> + </li> + <?php endforeach; ?> + </ul> + + <form method="post" action=""> + <h2>Add Contact</h2> + <p><label for="name">Name:</label> <input type="text" name="name" /></p> + <p><label for="email">Email:</label> <input type="email" name="email" /></p> + <input type="submit" value="Create" /> + </form> + </body> +</html> |