Probleme d'affichage dans une liste déroulante

Résolu
cs_JohnInsane Messages postés 27 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 20 juillet 2005 - 18 avril 2005 à 11:43
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 18 avril 2005 à 14:59
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

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 1
18 avril 2005 à 12:09
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 !
3
cs_JohnInsane Messages postés 27 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 20 juillet 2005
18 avril 2005 à 13:03
Ok merci bcp ;)

mais il m'affiche tjs une page vide :'( et pourtant ma base de données contient bien des informations
0
cs_JohnInsane Messages postés 27 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 20 juillet 2005
18 avril 2005 à 13:25
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
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 1
18 avril 2005 à 14:59
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 !
0