Posez votre question Signaler

[php] remplir une combo

antic80 4810Messages postés lundi 30 mai 2005Date d'inscription ContributeurStatut 9 septembre 2009Dernière intervention - Dernière réponse le 14 déc. 2010 à 11:28
bonjour

voila j'ai une table MySQL et je souhaiterais remplir une liste avec le contenu de la table.

ma table se compose comme ca

batiment1 , salle1
batiment1 , salle2
batiment3 , salle3

peut on remplir la liste du style

batiment1
... salle1
... salle2
... salle3
Lire la suite 
Réponse
+7
moins plus
en fait c est bon j ai reussi a remplir ma liste a partir de ma bdd mys je met le code quand meme pour ceux qui en auront besoin on sait jamais ;)

<?php
$sql = " SELECT nom FROM commandes_dsi ";
$result = mysql_query($sql) or die("Requete pas comprise");?>

<select name="liste_nom" id="liste_nom">

<?php while ($row=mysql_fetch_array($result))
{
echo"<option>$row[0]</option>";
}?>
</select>
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+2
moins plus
C'est tout à fait possible. Je te propose une solution "école" sachant que je ne sais pas comment sont organisées tes tables.



Une requete qui selectionne tes batiments et une autre qui pour chaque batiment stockera les salles.

Ensuite il suffit de créer avec php la dropdownlist HTML
$ddl qui sera une chaine vide.


- Requete qui cherche les batiments.
- Stock de la requete dans un tableau
- Effacer la requete (mysql_free_result ($query) )

Pour chaque élément du tableau des batiments
- on ajoute à la ddl une ligne créée à partir de la requete : <select option="label du résultat" value="id_résultat">label du résultat

- on lance une requete pour trouver toutes les salles de l'élément du tableau concerné

Pour chaque salle trouvée :

- on ajoute à la ddl une ligne créée à partir de la requete : <select option="label du résultat" value="id_résultat">... label du résultat

On a traité toutes les salles on vide la requete des salles


On a traité tous les batiments c'est fini.

En code..

$ddl_batiments_salles= "";
$tab_lbl_batiments = new array("");
$tab_id_batiments = new array(""); 
$i = 0;

$batiments_query = "SELECT .... ";
$res_batiment_query = mysql_query($batiments_query);
while($tab_batiment_query = mysql_fetch_array(res_batiment_query) )
{
       $tab_id_batiments[$i] =  $tab_batiment_query['id_batiment'];
       $tab_lbl_batiments[$i] =  $tab_batiment_query['lbl_batiment'];
        $i++;
}

$i = 0;
while($i<sizeof($tab_id_batiments))
{
     $id_batiment_pere = $tab_id_batiments[$i];
     $lbl_batiment_pere = $tab_lbl_batiments[$i];

     $ddl_batiments_salles .= "<option = $lbl_batiment_pere  value= $id_batiment_pere> $lbl_batiment_pere";

     $salles_query = "SELECT....WHERE id_batiment = $id_batiment_pere"
     $res_salles_query = mysql_query($salles_query);

     while($tab_salles_query = mysql_fetch_array( $res_salles_query ))
      {
            $id_salle = $tab_salles_query['id_salle'];
            $lbl_salle = $tab_salles_query['lbl_salle'];

            $ddl_batiments_salles .= "<option = $lbl_salle  value= $id_salle> $lbl_salle";
    
       }
    mysql_free_result( $res_salles_query );
   $i++;
}




portion html :

<SELECT NAME="Batiments_salle">
<?php echo "$ddl_batiments_salles" ?>
</SELECT>






Voila le cas bateau, maintenant selon ta structure de base, le code peut etre différent, c'est juste un exemple.
Misdrhaal 51Messages postés lundi 9 mai 2005Date d'inscription 23 février 2006Dernière intervention - 8 févr. 2006 à 17:17
Remplacer :
$ddl_batiments_salles .= "<option = $lbl_batiment_pere  value= $id_batiment_pere> $lbl_batiment_pere";


par
$ddl_batiments_salles .= "<option value= $id_batiment_pere> $lbl_batiment_pere";


fatigué aujourd'hui...
Répondre
Ajouter un commentaire
Annonces
 
moins plus
Réponse
+2
moins plus
bonjour,
excuse moi , mais j'ai pas bien saisi ton code
j'ai le meme soucis , j ai ma table commande_dsi avce les champs (nom,commande...)
dans mon formulaire j ai un combobox(liste) , et je veux qu'il soit rempli a partir du champ nom de ma table commandes_dsi
j'ai fai ce code mais ca marche pas apperment !!!
<select name="liste_nom" id="liste_nom"><?php echo $donnees['nom']; ?>
</select>
Ajouter un commentaire
Réponse
+2
moins plus
Par contre j'ai un autre petit soucis , la que j ai reussi a remplir ma liste je veux que les informations qui va avec chauqe element selectionnée dans la liste soit affcihées dans mon formulaire
autrement dit les information changent en fonction de l'element selectionnée dans la liste
Ajouter un commentaire
Réponse
+0
moins plus
Ajouter un commentaire
Ce document intitulé «  [php] remplir une combo  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.