Rechercher : dans
Par :

[php] remplir une combo

Dernière réponse le 13 jun 2008 à 09:13:57 antic80, le 8 fév 2006 à 11:18:40 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [php] remplir une combo » dans :
Vérifier le format d'une date en PHP VoirIl existe plusieurs méthodes pour verifier le format d'une date en PHP, vous pouvez par exemple découper la chaîne puis tester les valeurs de chaque élément. Plus simplement nous utiliserons les expressions régulières. Pour valider une date au...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
Télécharger PHP FTP Synchronizer VoirLa mise à jour de site web est aussi complexe que sa conception. Alors il faut utiliser le bon outil avec les bon paramètres et une bonne connaissance de programmation pour mettre à jour un site. PHP FTP Synchronizer est une application vous...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Parser du XML VoirIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...

1

Misdrhaal, le 8 fév 2006 à 16:54:50

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.

Répondre à Misdrhaal

2

Misdrhaal, le 8 fév 2006 à 17:17:22

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 à Misdrhaal

3

nita2006, le 13 jun 2008 à 08:54:20
  • +1

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>

Répondre à nita2006

4

nita2006, le 13 jun 2008 à 09:12:23
  • +1

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>

Répondre à nita2006

5

 nita2006, le 13 jun 2008 à 09:13:57
  • +1

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

Répondre à nita2006