[SQL] Requête SQL en fonction d'un choix de listbox
Salut ^^
J'aurais besoin de votre science ! :P
Voilà je suis censé faire un exercice en PHP consistant à simuler un service de Vidéo-club.
Grâce au PHP j'arrive à me connecter à une base de données MySQL et à afficher le contenu des tables.
Seulement je suis coincé au moment ou je dois, grâce à une listebox, afficher les films appartenant à une catégorie.
Par exemple, je choisis dans la liste la catégorie "Comédie", je valide grâce à un bouton, et ça m'emmène sur une page m'affichant tous les films ayant pour valeur du champs "Type", "AVE" (pour "Aventure").
En SQL ça donnerait "SELECT * FROM films WHERE Type=AVE".
Voici quelques morceaux de code :P :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| // Le form de la sélection du type de film
<form action="page4.php" method="get">
<table align="center">
<tr>
<td>
<select name="type">
<option value="AVE">Aventure</option>
<option value="COM">Comédie</option>
<option value="DRA">Drame</option>
<option value="POL">Policier</option>
</select>
</td>
<td>
<input type="submit" value="Envoi">
</td>
</tr>
</table>
</form> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| // Le code principal de la page suivante
<?php
// Connection à la base de données
mysql_connect("localhost", "root");
mysql_select_db("videoclub");
// Requête SQL
$reponse=mysql_query("SELECT * FROM films ORDER BY Titre") or die(mysql_error());
?>
<table border=1>
<tr>
<th>ID</th>
<th>Titre</th>
<th>Réalisateur</th>
<th>Producteur</th>
<th>Acteurs</th>
<th>Année</th>
<th>Type</th>
</tr>
<?php
while($donnees=mysql_fetch_array($reponse))
{
?>
<tr>
<td><?php echo $donnees['id_film']; ?> </td>
<td><?php echo $donnees['Titre']; ?> </td>
<td><?php echo $donnees['Réalisateur']; ?> </td>
<td><?php echo $donnees['Producteur']; ?> </td>
<td><?php echo $donnees['Acteurs']; ?> </td>
<td><?php echo $donnees['Année']; ?> </td>
<td><?php echo $donnees['type']; ?> </td>
</tr>
<?php
}
?>
</table>
<?php
// Fermeture de la base
mysql_close();
?>
<table align="center" border="0" width="80%">
<tr>
<td width="50%" align="right">
<form action="page2.php">
<input type="submit" value="Autre type de film">
</form>
</td>
<td width="50%" align="left">
<form action="page1.php">
<input type="submit" value="Retour accueil">
</form>
</td>
</tr>
</table> |
Dans cet exemple, si j'appuie sur le bouton d'envoie lors du choix du type, ça envoie toujours le même résultat, quel que soit le type sélectionné.
Mon problème est là : comment afficher le contenu en fonction du type sélectionné ?
J'ai bien pensé à un session_start(), puis un $_SESSION['Type']=$_POST['Type] mais je ne sais pas comment bien organiser tout ça.
J'espère avoir été assez clair et que vous pourrez m'aider.
Merci beaucoup ! :mrgreen: