Liste déroulante pour une sélection

Eléphanteau du PHP | 15 Messages

23 mai 2011, 17:33

Bonjour,

J'ai une table qui comporte un champ 'lieu'
Comme vous vous en douter ce lieu existe en plusieurs exemplaires

Je voudrais donc faire un formulaire
avec la liste de mes lieux en ordre alphabétique (1 seule occurence de chaque lieu)
un bouton pour valider le choix et lancer la requête sur ce critère de valeur choisie

J'ai bien trouver des trucs sur la toile mais j'obtiens la liste complète des lieux (donc répétition d'un même lieu)

Auriez-vous un code qui réponde à la problématique posée.

Merci d'avance
Amitiés

--
Yannick VOYEAUD

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 mai 2011, 19:13

Dans ta requête SQL, utilise le mot clé DISTINCT pour dédoublonner le résultat :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 15 Messages

23 mai 2011, 23:12

Dans ta requête SQL, utilise le mot clé DISTINCT pour dédoublonner le résultat :)
Bonsoir,

Merci pour cette réponse qui résoud 1 problème

Voici l'ancien code
<!-- FORMULAIRE -->
<form action= '35127_1F1_1851_village_a.php' method="post">
      <div align="center">
      <table style="border:0px;">
         <td style="border:0px;"><strong>Village (obligatoire) </strong></td>
            <td style="border:0px;"><input type="text" name="lieu" value="<?php echo $lieu?>"></td>
            <td style="border:0px;"><input type="submit" name="submit" value="Rechercher"></td>
         </tr>
      </table>
      </div>
  </form>
Voici le code trouvé pour générer ma liste déroulante (le résultat est celui que je cherche)
 
 <form>
   <select>
<?php 
$SQL = "SELECT distinct lieu FROM 35127_1F1 where annee='1851' order by lieu ";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
   echo "<option>".$val["lieu"]."</option>\n";
}
?>
   </select>
   </form>
Je suppose qu'il me faut intégrer le second dans le premier mais comment de façon à ce que le choix fait dans la liste devienne le value de la ligne 6 du premier code

Amitiés

Eléphanteau du PHP | 15 Messages

26 mai 2011, 16:26

Bonjour,

voila comment tu peux imbriquer tes 2 codes
ensuite tu récupères la valeur du select dans la page php qui traite le formulaire .
<!-- FORMULAIRE -->
<form action= '35127_1F1_1851_village_a.php' method="post">
      <div align="center">
      <table style="border:0px;">
         <td style="border:0px;"><strong>Village (obligatoire) </strong></td>
            <td style="border:0px;">
                  <SELECT name="nom">
                  <?php
                       $SQL = "SELECT distinct lieu FROM 35127_1F1 where annee='1851' order by lieu ";
                       $res = mysql_query($SQL);
                        while($val=mysql_fetch_array($res)) {
                            echo "<option>".$val["lieu"]."</option>\n";
                        }
                  ?>
                  </SELECT>
             </td>
            <td style="border:0px;"><input type="submit" name="submit" value="Rechercher"></td>
         </tr>
      </table>
      </div>
  </form>


@ plus
Agence de communication et de formation aux outils du web marketing http://www.linesoft.fr
Plateforme d'emailing - création de newsletter - gestion de campagnes d' email marketing http://www.emailing-express10.fr
Ressources pour webmaster gratuites ,icones,fichiers vectoriels,psd ... http://www.ressource-web.fr

Eléphanteau du PHP | 15 Messages

26 mai 2011, 17:26

Bonjour,

voila comment tu peux imbriquer tes 2 codes
ensuite tu récupères la valeur du select dans la page php qui traite le formulaire .
Bonjour,

Merci de ta réponse j'ai fait quelque chose de très approchant.
Je regarderais demain car pour aujourd'hui je suis vanné.

Amitiés et merci encore