Select sql defectueux

allhambra Messages postés 18 Statut Membre -  
 le père -
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 !
A voir également:

3 réponses

Dr Zoidberg Messages postés 547 Statut Membre 100
 
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
allhambra
 
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
le père
 
Bonsoir,

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