Page 1 sur 1

charger une liste deroulante

Posté : 03 mai 2007, 23:15
par gabesien_R
salut a tous,jai un probleme dans mon cite ,je veux charger une liste deroulante par les noms des pays qui existent dans la base,j'ai pas trouver une solution ,merci de me repondre :shock: :shock: :shock:

Posté : 04 mai 2007, 08:16
par Ryle
Un p'tit bout de code pour nous montrer ce que tu as fait et ce que tu n'arrives pas à faire ?

Sinon, il faut juste une requête qui va lister les différents noms de pays que tu as dans ta base (un simple SELECT), une boucle sur les enregistrements retournés (while) et un affichage des libellés etre balises <option></option> (echo) ...

Re: charger une liste deroulante

Posté : 04 mai 2011, 16:30
par sweetfolla
Bonjour,

Moi aussi j'ai le meme probleme, merci de me dire comment faire ??

Re: charger une liste deroulante

Posté : 04 mai 2011, 16:39
par Mazarini
Bonjour,

Il faudrait que vous (tu ?) expliquiez mieux ce qui vous pose problème.

Je peux toujours répondre qu'il est impossible de lister ce qui n'est pas dans ta base. Pour qu'une chose soit extraite d'une base de données, il faut quelle soit stockée dans la base.

Re: charger une liste deroulante

Posté : 04 mai 2011, 20:17
par sweetFolla
j'ai deja fait un code mais ça marche pas .. je sais pas où est le probleme ??

Code : Tout sélectionner

<?php $link = mysql_connect('127.0.0.1', 'root', '') or die (mysql_error()); mysql_select_db('site', $link) or die (mysql_error()); $req = 'SELECT activite FROM membres'; $res = mysql_query($req,$link) or die (mysql_error()); echo "<select name='activite' id='activite'>"; while ($ligne=mysql_fetch_array($res)){ $valeur=$ligne['activite']; $libelle=$ligne['activite']; echo "<option value='$valeur'>$libelle</option>"; } echo "</select>"; ?>

Re: charger une liste deroulante

Posté : 04 mai 2011, 20:27
par Mazarini
Bonjour,

Ton code me semble bon, qu'est que tu as comme problème ? Une erreur PHP ? une erreur MySQL ?

Re: charger une liste deroulante

Posté : 04 mai 2011, 21:17
par sweetFolla
la liste est toujours est vide !!

voila le script de la bd
CREATE TABLE membres (

  id   int(10) unsigned NOT NULL AUTO_INCREMENT,
  civilite  varchar(32)  NOT NULL,
  nom  varchar(32)  NOT NULL,
  prenom  varchar(32)  NOT NULL,
  activite   ENUM('Informatique', 'Marketing')  NOT NULL,
  tel  int(32)  NOT NULL,
  noment  varchar(32)  NOT NULL,
  adresse  varchar(32)  NOT NULL,
  CP  int(32)  NOT NULL,
  ville  varchar(32)  NOT NULL,
  pays  varchar(32)  NOT NULL,
  email    varchar(128) NOT NULL,
   
  PRIMARY KEY (id),
  KEY pw (pw)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Re: charger une liste deroulante

Posté : 04 mai 2011, 21:56
par Ryle
Juste pour être sur... ta requête actuelle va lister l'ensemble des enregistrements de ta table membre...
Si ta table est vide, ta requête ne retourne rien et ton select reste vide. Par contre lorsque tu auras 500 membres, elle va retourner l'activité de chacun des membres et donc 500 activités qui vont apparaitre dans le select...

Je suppose que tout ce que tu veux c'est que ta liste propose juste les deux valeurs 'Informatique' et 'Marketing'. ce n'est donc pas une requête sur le contenu de la table qu'il te faut, mais une requête sur la structure...
SELECT COLUMN_TYPE 
 FROM INFORMATION_SCHEMA.COLUMNS 
 WHERE TABLE_SCHEMA = 'tbl_schema' 
   AND TABLE_NAME = 'tbl_name' 
   AND COLUMN_NAME = 'enum_col'
(il faut naturellement remplacer les valeurs par le nom de tes schéma, table et colonne).

Re: charger une liste deroulante

Posté : 04 mai 2011, 22:21
par sweetFolla
j'arrive pas à faire ce script de sql :( , si tu peux me le faire dont tu sais ma table et mes champs ..