Téléchargé 38 fois
Vote des utilisateurs
2
0
Détails
Licence : Non renseignée
Mise en ligne le 15 février 2011
Langue : Français
Référencé dans
Navigation
Gérer des listes déroulantes
Gérer des listes déroulantes
Cette fonction accepte cinq arguments :
1. $name : Le nom du l'élément select.
2. $array_value : Le tableau des valeurs de l'élément select.
3. $array_selected : Le tableau des valeurs sélectionnées.
4. $multiple : Valeur bolléenne indiquant si l'élément select est multiple ou simple.
5. $size : Taille du menu.
Mise en oeuvre :
Prenons l'exemple d'un menu déroulant des régions françaises :
Cas où les valeurs sont issues d'un tableau PHP :
$region = array (
1 => 'Alsace' ,
2 => 'Aquitaine' ,
3 => 'Auvergne' ,
4 => 'Basse-Normandie' ,
5 => 'Bourgogne' ,
6 => 'Bretagne' ,
7 => 'Centre' ,
8 => 'Champagne-Ardenne' ,
9 => 'Corse' ,
10 => 'Dom-Tom' ,
11 => 'Franche-Comté' ,
12 => 'Haute-Normandie' ,
13 => 'Ile de France' ,
14 => 'Languedoc-Roussillon' ,
15 => 'Limousin' ,
16 => 'Lorraine' ,
17 => 'Midi-Pyrénées' ,
18 => 'Nord-Pas-de-Calais' ,
19 => 'Pays de la Loire' ,
20 => 'Picardie' ,
21 => 'Poitou-Charentes' ,
22 => 'PACA' ,
23 => 'Rhône-Alpes'
) ;
Dans la page HTML il suffit de faire :
Pour une liste simple
echo listbox ( 'region' , $region ) ;
Pour une liste simple avec une valeur pré-sélectionnée
echo listbox ( 'region' , $region , 4 ) ;
Pour une liste simple avec une valeur pré-sélectionnée et conservation d'une valeur après envoit
echo listbox ( 'region' , $region , ( isset ( $_POST['region'] ) ? $_POST['region'] : 4 ) ) ;
Pour une liste multiple
echo listbox ( 'region' , $region , array() , 1 , 6 ) ;
Pour une liste multiple avec des valeurs pré-sélectionnées
echo listbox ( 'region' , $region , array ( 4 , 5 , 6 , 7 ) , 1 , 6 ) ;
Pour une liste multiple avec des valeurs pré-sélectionnées et conservation des valeurs après envoit
echo listbox ( 'region' , $region ,
( isset ( $_POST['region'] ) ? $_POST['region'] : array ( 4 , 5 , 6 , 7 ) ) , 1 , 6 ) ;
Cas où les valeurs sont issues de la base :
CREATE TABLE region (
id TINYINT( 4 ) NOT NULL AUTO_INCREMENT ,
name TEXT,
PRIMARY KEY ( id )
);
INSERT INTO region (name) VALUES ( 'Alsace' );
INSERT INTO region (name) VALUES ( 'Aquitaine' );
INSERT INTO region (name) VALUES ( 'Auvergne' );
INSERT INTO region (name) VALUES ( 'Basse-Normandie' );
INSERT INTO region (name) VALUES ( 'Bourgogne' );
INSERT INTO region (name) VALUES ( 'Bretagne' );
INSERT INTO region (name) VALUES ( 'Centre' );
INSERT INTO region (name) VALUES ( 'Champagne-Ardenne' );
INSERT INTO region (name) VALUES ( 'Corse' );
INSERT INTO region (name) VALUES ( 'Dom-Tom' );
INSERT INTO region (name) VALUES ( 'Franche-Comté' );
INSERT INTO region (name) VALUES ( 'Haute-Normandie' );
INSERT INTO region (name) VALUES ( 'Ile de France' );
INSERT INTO region (name) VALUES ( 'Languedoc-Roussillon' );
INSERT INTO region (name) VALUES ( 'Limousin' );
INSERT INTO region (name) VALUES ( 'Lorraine' );
INSERT INTO region (name) VALUES ( 'Midi-Pyrénées' );
INSERT INTO region (name) VALUES ( 'Nord-Pas-de-Calais' );
INSERT INTO region (name) VALUES ( 'Pays de la Loire' );
INSERT INTO region (name) VALUES ( 'Picardie' );
INSERT INTO region (name) VALUES ( 'Poitou-Charentes' );
INSERT INTO region (name) VALUES ( 'PACA' );
INSERT INTO region (name) VALUES ( 'Rhône-Alpes' );
Puis :
$sql = "SELECT name FROM region" ;
$result = mysql_query ( $sql ) ;
$region = array() ;
while ( $row = mysql_fetch_assoc ( $result ) )
{
$region[] = $row['name'] ;
}
Ensuite, c'est pareil ...
1. $name : Le nom du l'élément select.
2. $array_value : Le tableau des valeurs de l'élément select.
3. $array_selected : Le tableau des valeurs sélectionnées.
4. $multiple : Valeur bolléenne indiquant si l'élément select est multiple ou simple.
5. $size : Taille du menu.
Mise en oeuvre :
Prenons l'exemple d'un menu déroulant des régions françaises :
Cas où les valeurs sont issues d'un tableau PHP :
$region = array (
1 => 'Alsace' ,
2 => 'Aquitaine' ,
3 => 'Auvergne' ,
4 => 'Basse-Normandie' ,
5 => 'Bourgogne' ,
6 => 'Bretagne' ,
7 => 'Centre' ,
8 => 'Champagne-Ardenne' ,
9 => 'Corse' ,
10 => 'Dom-Tom' ,
11 => 'Franche-Comté' ,
12 => 'Haute-Normandie' ,
13 => 'Ile de France' ,
14 => 'Languedoc-Roussillon' ,
15 => 'Limousin' ,
16 => 'Lorraine' ,
17 => 'Midi-Pyrénées' ,
18 => 'Nord-Pas-de-Calais' ,
19 => 'Pays de la Loire' ,
20 => 'Picardie' ,
21 => 'Poitou-Charentes' ,
22 => 'PACA' ,
23 => 'Rhône-Alpes'
) ;
Dans la page HTML il suffit de faire :
Pour une liste simple
echo listbox ( 'region' , $region ) ;
Pour une liste simple avec une valeur pré-sélectionnée
echo listbox ( 'region' , $region , 4 ) ;
Pour une liste simple avec une valeur pré-sélectionnée et conservation d'une valeur après envoit
echo listbox ( 'region' , $region , ( isset ( $_POST['region'] ) ? $_POST['region'] : 4 ) ) ;
Pour une liste multiple
echo listbox ( 'region' , $region , array() , 1 , 6 ) ;
Pour une liste multiple avec des valeurs pré-sélectionnées
echo listbox ( 'region' , $region , array ( 4 , 5 , 6 , 7 ) , 1 , 6 ) ;
Pour une liste multiple avec des valeurs pré-sélectionnées et conservation des valeurs après envoit
echo listbox ( 'region' , $region ,
( isset ( $_POST['region'] ) ? $_POST['region'] : array ( 4 , 5 , 6 , 7 ) ) , 1 , 6 ) ;
Cas où les valeurs sont issues de la base :
CREATE TABLE region (
id TINYINT( 4 ) NOT NULL AUTO_INCREMENT ,
name TEXT,
PRIMARY KEY ( id )
);
INSERT INTO region (name) VALUES ( 'Alsace' );
INSERT INTO region (name) VALUES ( 'Aquitaine' );
INSERT INTO region (name) VALUES ( 'Auvergne' );
INSERT INTO region (name) VALUES ( 'Basse-Normandie' );
INSERT INTO region (name) VALUES ( 'Bourgogne' );
INSERT INTO region (name) VALUES ( 'Bretagne' );
INSERT INTO region (name) VALUES ( 'Centre' );
INSERT INTO region (name) VALUES ( 'Champagne-Ardenne' );
INSERT INTO region (name) VALUES ( 'Corse' );
INSERT INTO region (name) VALUES ( 'Dom-Tom' );
INSERT INTO region (name) VALUES ( 'Franche-Comté' );
INSERT INTO region (name) VALUES ( 'Haute-Normandie' );
INSERT INTO region (name) VALUES ( 'Ile de France' );
INSERT INTO region (name) VALUES ( 'Languedoc-Roussillon' );
INSERT INTO region (name) VALUES ( 'Limousin' );
INSERT INTO region (name) VALUES ( 'Lorraine' );
INSERT INTO region (name) VALUES ( 'Midi-Pyrénées' );
INSERT INTO region (name) VALUES ( 'Nord-Pas-de-Calais' );
INSERT INTO region (name) VALUES ( 'Pays de la Loire' );
INSERT INTO region (name) VALUES ( 'Picardie' );
INSERT INTO region (name) VALUES ( 'Poitou-Charentes' );
INSERT INTO region (name) VALUES ( 'PACA' );
INSERT INTO region (name) VALUES ( 'Rhône-Alpes' );
Puis :
$sql = "SELECT name FROM region" ;
$result = mysql_query ( $sql ) ;
$region = array() ;
while ( $row = mysql_fetch_assoc ( $result ) )
{
$region[] = $row['name'] ;
}
Ensuite, c'est pareil ...
Bonjour,
je remercie l'auteur pour son tuto, et, dans la foulée,
formule le souhait que ce tuto comporte des précisions, sur le placement du code dans la page, si on enregistre tel code dans un doc php, tel autre dans un doc html;
ceci afin de nous guider au fur et à mesure du tuto, car au bout d'un moment, je ne voyais plus comment et dans quel ordre intégrer les codes présentés.
Cordialement
lz
je remercie l'auteur pour son tuto, et, dans la foulée,
formule le souhait que ce tuto comporte des précisions, sur le placement du code dans la page, si on enregistre tel code dans un doc php, tel autre dans un doc html;
ceci afin de nous guider au fur et à mesure du tuto, car au bout d'un moment, je ne voyais plus comment et dans quel ordre intégrer les codes présentés.
Cordialement
lz
Hélas pour toi, la dernière connexion de l'auteur de cette source date de 2006 Il y a donc fort à parier qu'il n'y aura pas de modification (en tous cas, pas faite par l'auteur originel)
Au passage, ce post n'est pas un tuto, c'est le mode d'emploi de la source indiquée au début du post :
Le plus simple si tu rencontres des difficultés serait sans doute d'ouvrir une question indépendante présentant ton code et ton problème.
Au passage, ce post n'est pas un tuto, c'est le mode d'emploi de la source indiquée au début du post :
Le plus simple si tu rencontres des difficultés serait sans doute d'ouvrir une question indépendante présentant ton code et ton problème.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.