Probleme d'affichage dans une liste déroulante

[Résolu]
Signaler
Messages postés
27
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
20 juillet 2005
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour à tous,




Voilà j'ai un problème, j'ai fais un script où l'on choisit une
catégorie dans une liste déroulante qui est dans la table cat où j'ai
un id_cat et un champ cat, et j'aimerais que quand je clic sur une des
differentes catégories qu'il m'affiche le contenu de la table album où
j'ai mis une clé index de la table cat (donc j'ai id_cat dans la table
album) le prob c qu'il m'affiche rien


<?php

$reponse = mysql_query("SELECT * FROM cat");


?>


<form action="<?php print $_SERVER['PHP_SELF'] ?>" method="get" name="Effectif">


<select name="info">


<?php


while($row = mysql_fetch_array($reponse)){


$id_cat = $row["id_cat"] ;


$nom_cat = $row["cat"];


print "<option name=value="$id_cat" value="$id_cat">$nom_cat </option>" ;


};


?>


</select>





</form>


<?php


if ((isset($_GET["info"])) && ($_GET["info"] != "")){


$info = $_GET["info"];


$reponse2 ="SELECT * FROM album where id_cat = '$info'";


$requete2 = mysql_query($reponse2) or die ("Erreur de requete");


$result=mysql_fetch_array($requete2);


print $result['nom'];


print $result['description'];


}







Si qqun pouvait m'aider ca serait cool

4 réponses

Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Lu,

j'ai legerement modifié ton code pour le rendre plus aux normes .... Mais perso je ne vois pas vraiment d'erreur.

<?php

$reponse = mysql_query('SELECT id_cat, cat FROM cat');

?>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get" name="Effectif">

<select name="info">

<?php

while($row = mysql_fetch_array($reponse)) {

$id_cat = $row['id_cat'] ; // Des ' et non des "

$nom_cat = $row['cat'];

echo ' <option name=value="', $id_cat, '" value="', $id_cat, '">', $nom_cat, '</option>'; // Evite print(), mets echo '';

};

?>

</select>



</form>

<?php

if ((isset($_GET['info'])) && !empty($_GET['info'])) { // Si c'est un chiffre ajoute : && is_numeric($_GET['info'])

$info = $_GET['info'];

$reponse2 = 'SELECT nom, description FROM album where id_cat="' . $info . '" '; // On ne met pas de * mais on liste les champs utiles, et si c'est un nombre, les " ne sont pas obligatoires

$requete2 = mysql_query($reponse2) or die ('Erreur de requete');

$result = mysql_fetch_array($requete2);

echo $result['nom'];

echo $result['description'];

}

?>

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
Messages postés
27
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
20 juillet 2005

Ok merci bcp ;)

mais il m'affiche tjs une page vide :'( et pourtant ma base de données contient bien des informations
Messages postés
27
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
20 juillet 2005

voila j'ai trouvé mon erreur en fesant un echo $info pour voir ce que
je recevais c'était juste une erreur de variable c'était $nom_cat au
lieu de $id_cat

donc voici le code fini :





<?php

$reponse = mysql_query('SELECT id_cat, cat FROM cat');

?>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get" name="info">

<select name="info">

<?php

while($row = mysql_fetch_array($reponse)) {

$id_cat = $row['id_cat'] ; // Des ' et non des "

$nom_cat = $row['cat'];

echo ' <option name=value="', $nom_cat, '"
value="', $nom_cat, '">', $nom_cat, '</option>'; // Evite
print(), mets echo '';

};

?>

</select>



</form>

<?php

if ((isset($_GET['info'])) && !empty($_GET['info'])) { //
Si c'est un chiffre ajoute : && is_numeric($_GET['info'])

$info = $_GET['info'];

$reponse2 = 'SELECT * FROM album where id_cat="' . $info . '" ';
// On ne met pas de * mais on liste les champs utiles, et si c'est un
nombre, les " ne sont pas obligatoires

$requete2 = mysql_query($reponse2) or die ('Erreur de requete');

$result = mysql_fetch_array($requete2);

echo $result['nom'];

echo $result['description'];

}

?>

merci à Jojo738 pour la mise à jour du code :D
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
De rien, mais c'est bien plus beau

$reponse2 = 'SELECT * FROM album where id_cat="' . $info . '" ';
// On ne met pas de * mais on liste les champs utiles, et si c'est un
nombre, les " ne sont pas obligatoires


Liste tes champs MySQL dont tu t sers ...
<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !