Bonjour a tous,
Je présente d'abord la situation.
J'ai comme projet de cours un site marchand a réaliser.
Dans ce site j'ai une page ou je peux voir la liste de mes articles, et j'ai une liste déroulante qui me permet de voir les articles selon la catégorie désirées.
J'avais réalisé en cours une technique qui marche mais qui selon mon prof n'était pas optimale car si je créait de nouvelles catégories je devais revoir tout mon code.
J'avais fais une structure avec des Si "liste déroulante contient cela" alors "afficher cela."
Vu que j'ai 5 catégories j'ai répété cette algo 5 fois et c'est cela que mon prof trouvait peu optimisé car plus il y a de catégorie plus je répète mon code
J'ai donc choisis de trouver un code sur internet pour importer les catégories dans ma BDD directement dans ma liste déroulante ce que j'ai fais grâce à ce code :
<form action="Site.php" method="post">
<select name=choix>
<?php
$SQL = "SELECT * FROM categories";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
echo "<option>".$val["NoCatégorie"]." :".$val["Libcatégories"]." </option>\n";
}
$id =$_POST['NoCatégorie'];
?>
</select>
<p>
<input type="submit" value="Valider" />
</p>
</form>
le probleme est que je n'arrive pas a afficher les produits en fonction de ce qu'il y a dans ma listbox.
Je pensais que le simple $_POST me permettrait d'extraire la valeur mais je n'y arrive pas une erreur me dit que le champ $id n'est pas connu
le code pour faire afficher mes produits ressemble à ça
$ordi = mysql_query('SELECT * FROM articles where NoCatégorie =$id')or die(mysql_error());
while ($donnees = mysql_fetch_array($ordi) )
{ ensuite le code pour afficher tout mes produits et leurs champs dans un tableau, inutile de le mettre car l'erreur ne vient pas de là.
PS: je ne vois cela que depuis très peu de temps donc soyez indulgent SVP
