remplir une listbox avec données de base

Eléphanteau du PHP | 38 Messages

05 mai 2010, 14:13

Bonjour,

J'essaye de remplir une listeBox avec le contenu d'un champ d'une base de donnée:

$query3 = "SELECT * FROM categories";
$result3 = mysql_query($query3);
$val3 = mysql_fetch_array($result3);
$a3 = mysql_num_rows($result3);

<select name="select">
<?php
$rs = $result3;
for ($i=1; $i <= $a3; $i++){
$rs->MoveNext(); ?>
<option><?php echo $val3["Categorie"] ?></option><?php } ?>
</select>

ça marche pas!!!


merci d'avance pour vos réponses!

Eléphant du PHP | 109 Messages

05 mai 2010, 14:24

Bonjour,

reçois tu une quelconque erreur lors de l'exécution du script?
A première vue, il devrait y en avoir car il manque déjà un ";" à cette ligne :
<option><?php echo $val3["Categorie"] ?></option><?php } ?>
Après, il faut voir se que tu entends par "ça ne marche pas !".
  • Aucune valeur ne s'affiche dans la liste déroulante?
  • Tu obtiens une erreur?
  • *Insérer ici toutes les raisons possibles et imaginables*
Autrement dit, corrige déjà le ";" manquant, puis revient nous voir avec plus de détails si le problème persiste ;)

Bonne après midi.
ANSI <font> <font> <font> <li> <p> <title> Mar I/O .NET

Eléphanteau du PHP | 38 Messages

05 mai 2010, 14:40

ok, j'ai rajouté le ; mais ça à rien changé!

avec cette modification:

<?php
$rs = $result3;
for ($i=1; $i <= $a3; $i++){ ?>
<option><?php echo $val3["Categorie"]; ?></option><?php }
//$rs->MoveNext(); } ?>

j'ai mis le $rs->MoveNext(); en commentaire, la listbox se remplit mais toujours de la même valeur:

si j'enlève le commentaire à "$rs->MoveNext()", une seule valeur s'affiche et le reste de la page n'est pas affiché!

Eléphanteau du PHP | 38 Messages

05 mai 2010, 18:18

J'ai essayé aussi ce code mais ça marche pas non plus !!!!:

<select name='nom_select'><?php
while($val3=mysql_fetch_array()){ ?>
<option value="<?php echo $val3["Categorie"]; ?>"><?php echo $val3["Categorie"]; ?></option><?php
} ?>
</select>

Eléphanteau du PHP | 38 Messages

05 mai 2010, 18:41

c'est bon j'y suis arrivé!