Select sql defectueux

Fermé
allhambra Messages postés 18 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 28 décembre 2007 - 28 déc. 2007 à 15:03
 le père - 29 déc. 2007 à 21:31
Bonjour,

je souhaite faire un select à partir d'un champ sql.
j'ai ce code mais à l'affichage du select je n'ai qu'un champ au lieu de sept.
J'ai du me tromper quelque part, mais je ne vois pas où
<?php
   include("connexion.php");


// Requête SQL pour récupérer la catégorie effective du client
$reponse= mysql_query ("SELECT `categorie` FROM `categorie` ORDER BY `categorie` ASC LIMIT 0, 10") or die(mysql_error());
// On fait une boucle pour lister tout ce que contient la table :
$donnees = mysql_fetch_array($reponse);
$valeurs = $donnees['categorie'];

// On s'épare les valeurs de la liste des catégories en fonction des retour chariot
$menu_categorie = explode("\n", $valeurs);
?>
<select name="categorie" id="categorie">
<option value="-1">toutes les catégories</option>
<?
for ($i=0 ; $i < count($menu_categorie) ; $i++){
echo "<option value=\"".$menu_categorie[$i]."\">".$menu_categorie[$i]."</option>"; // menu déroulant
}
mysql_close(); // Déconnexion de mysql
?>
</select>


merci de votre aide !

3 réponses

Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
28 déc. 2007 à 15:42
Salut,

mysql_fetch_array retourne UN enregistrement, il faut boucler pour les récupérer tous.
Par exemple remplace
$donnees = mysql_fetch_array($reponse);
$valeurs = $donnees['categorie'];

par
while($donnees = mysql_fetch_array($reponse)){
   $valeurs[] = $donnees['categorie'];
}
0
Bonjour et merci de ta réponse,

en modifiant le code, comme indiqué, il me renvoi Array comme champ unique (il remplace mon champ par Array) !
0
Bonsoir,

$menu_categorie[] = $donnees['categorie'];
et pas de explode
0