TD : PHP/MySql avec l'extension mysqli.
Vous pouvez récupérer sur le projet git
https://dwarves.iut-fbleau.fr/git/monnerat/wim21.git
pour chaque exercice un squelette à compléter.
Avant de commencer
Pour travailler, importez dans votre base les tables et leurs contenus
qui se trouvent dans le fichier cinema.sql. Vous pouvez directement l'importer à partir de phpmyadmin. Examinez les tables, leurs structures et relations.
Complétez le script films.php qui affiche la liste de tous les films de votre base sous forme d'une table html, classée par titre, avec l'année, le genre et le réalisateur.
localhost
comme nom.
$conn = mysqli_connect("localhost","login","passwd,"db");
Modifiez le script précédent afin de paginer l'affichage des films.
La clause LIMIT
dans un SELECT permet de restreindre le nombre de résultats
de la requête.
SELECT * FROM tbl LIMIT 5,10; # Retrieve ROWS 6-15
L'option SQL_CALC_FOUND_ROWS
permet, en présence de la clause LIMIT, de savoir combien de resultats auraient été selectionnée
en son absence.
SELECT SQL_CALC_FOUND_ROWS * FROM tbl LIMIT 5,10;
Il faut utliser juste après la requête la fonction MySQL FOUND_ROWS()
.
SELECT FOUND_ROWS();
Ajoutez dans le script précédent un formulaire avec une liste déroulante qui permet de filtrer les films par réalisateur.
Il faut récupérer dans la table Artiste les réalisateurs, et peupler une liste déroulante. La valeur envoyé par le formulaire sera bien sûr l'identifiant du réalisateur.
Faites en sorte, comme sur la capture d'écran, de réafficher la liste déroulante avec le nom du réalisateur dernièrement selectionné.
On veut dans cette question, à partir de la liste, afficher le détail d'un film. Pour cela, chaque titre, dans le tableau, sera un lien qui conduira à la fiche du film. L'identifiant du film sera passé dans l'url du lien.
<a href="./fiche.php?film=1">Vertigo</a>