Liste déroulante dynamique

labourette Messages postés 657 Date d'inscription   Statut Membre Dernière intervention   -  
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voulais mettre un select dans mon formulaire pour gérer les categories des membres issu de ma BDD
Ca ne fonctionne pas je ne sais pas pourquoi, si vous pouvez me donner quelques infos s'ils vous plait ?
En vous remerciant beaucoup pour votre aide
  echo '<select size=1 name="cat">'."\n"; 
  echo '<option value="-1">Choisir un résultat<option>'."\n"; 
   
$resultat = $bdd->query("SELECT tb_categorie_statut.id_categorie_statut, tb_categorie_statut.categorie_statut FROM tb_categorie_statut");
  $donnees = mysql_query($sql); 
   
  while ($resultat = mysql_fetch_objet($donnees)){ 
    echo '<option value="'.$resultat[0].'">'.$resultat[1]; 
    echo '</option>'."\n"; 
  } 
  echo '</select>'."\n"; 


A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Bonsoir, voir commentaires dans le code

echo '<select name="cat">'."\n"; 
  echo '<option value="-1">Choisir un résultat</option>'."\n"; //la balise de fermeture option il te manquait le /
   
$resultat = $bdd->query("SELECT tb_categorie_statut.id_categorie_statut, tb_categorie_statut.categorie_statut FROM tb_categorie_statut");
  //$donnees = mysql_query($sql); 
 //$bdd->query soumet la requette il me semble
//esayes avec mysql_fetch_assoc c'est plus "parlant"  
  while ($resultat = mysql_fetch_assoc($resultat)){ 
    echo '<option value="'.$resultat['id_categorie_statut'].'">'.$resultat['categorie_statut']; 
    echo '</option>'."\n"; 
  } 
  echo '</select>'."\n";


essayes aussi avec PDO mysql c'est plus sécurisé !
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
Salut,

Essaye d'organiser ton code de telle façon que les traitements se passent au début de la page (avant le DOCTYPE), et tout ce qui est affichage (echo) + html entre la balise body.

Essayes de ne pas mélanger PDO et mysql, et vu que les fonctions mysql seront bientôt obsolète, alors mieux vaut opter pour PDO.

Exemple :
<?php
$resultat = $bdd->query('SELECT tb.id_categorie_statut AS id, tb.categorie_statut  AS statut FROM tb_categorie_statut tb');

$options = '<option value="-1">Choisir un résultat</option>';
while($donnees = $resultat->fetch()) {
    $options .= '<option value="' . $donnees['id'] . '">' . $donnees['statut'] . '</option>';
}
?>

<!DOCTYPE html>
<html>
<head>
</head>

<body>
  <form>
    <select name="cat">
      <?php echo $options; ?>
    </select>
  </form>
</body>
</html>

0