sakila.php
<?php class Sakila { private $server = "localhost"; private $user = "root"; private $password = ""; private $db = "sakila"; private $conn; function __construct() { try { $this->conn = new PDO("mysql:host=$this->server;dbname=$this->db", $this->user, $this->password); $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $this->conn->exec("SET CHARACTER SET utf8"); } catch (PDOException $e) { echo "Connection failed: " . $e->getMessage(); } } function newFilm($category_id, $film) { $sql = "insert into film(title,language_id) values ('$film',1)"; $this->conn->exec($sql); $film_id = $this->conn->lastInsertId(); $sql = "insert into film_category(film_id,category_id) values($film_id,$category_id)"; $this->conn->exec($sql); } function selectCategory() { $sql = "select * from category"; $q = $this->conn->query($sql); $categorias = $q->fetchAll(); ?> <select name="category"> <?php foreach ($categorias as $categoria) { ?> <option value="<?= $categoria['category_id'] ?>"><?= $categoria['name'] ?></option> <?php } ?> </select> <?php } }
index.php
<?php include "sakila.php"; $sakila = new Sakila(); $category = filter_input(INPUT_GET, "category", FILTER_VALIDATE_INT); $film = filter_input(INPUT_GET, "film"); if (!empty($category) && !empty($film)) { $sakila->newFilm($category, $film); } ?> <form> Categoría: <?php $sakila->selectCategory(); ?> <br/> Película: <input type="text" name="film"><br/> <input type="submit"> </form>