par
finipe » 12 sept. 2006, 00:38
Code : Tout sélectionner
$LISTE_PAYS = array(
array('nom' => 'Allemagne' , 'valeur' => 'DE');
array('nom' => 'Angleterre' , 'valeur' => 'UK');
array('nom' => 'Belgique' , 'valeur' => 'BE');
array('nom' => 'Etats-Unis' , 'valeur' => 'US');
array('nom' => 'France' , 'valeur' => 'FR');
etc...
array('nom' => 'Zimbabwé' , 'valeur' => 'ZW');
);
Avec ça, ça devrait aller normalement.
Ainsi, si on décompose ta variable $LISTE_PAYS, on trouve :
$LISTE_PAYS[0] --> correspond à : array('nom' => 'Allemagne' , 'valeur' => 'DE')
>> $LISTE_PAYS[0]['nom'] --> correspond à : 'Allemagne'
>> $LISTE_PAYS[0][valeur] --> correspond à : 'DE'
$LISTE_PAYS[1] --> correspond à : array('nom' => 'Angleterre' , 'valeur' => 'UK')
>> $LISTE_PAYS[1]['nom'] --> correspond à : 'Angleterre'
>> $LISTE_PAYS[1][valeur] --> correspond à : 'UK'
...et ainsi de suite, jusqu'à l'index $i :
$LISTE_PAYS[$i] --> correspond à : array('nom' => 'Zimbabwé' , 'valeur' => 'ZW')
>> $LISTE_PAYS[$i]['nom'] --> correspond à : 'Zimbabwé'
>> $LISTE_PAYS[$i][valeur] --> correspond à : 'ZW'
C'est là que la
boucle for se révèle très pratique pour construire ta liste déroulante, car tu peux facilement énumérer l'index de ton tableau. Et pour récupérer le nombre d'éléments de ton tableau, il suffit donc d'utiliser sizeof($LISTE_PAYS).
Voilà : )
Edition après relecture : j'ai vu qu'avant je t'avais suggéré de faire une variable $ZONE_PAYS donnant la zone géographique tarifaire d'un pays selon son code... Il serait judicieux d'inclure cette information dans ta variable $LISTE PAYS... Ça rajouterait simplement, pour chaque pays, une 3ème valeur en plus de 'nom' et 'valeur', qui se nommerait 'zone' par exemple.
Code : Tout sélectionner
$LISTE_PAYS = array(
array('nom' => 'Allemagne' , 'valeur' => 'DE' , 'zone' => 1);
array('nom' => 'Angleterre' , 'valeur' => 'UK' , 'zone' => 1);
array('nom' => 'Belgique' , 'valeur' => 'BE' , 'zone' => 1);
array('nom' => 'Etats-Unis' , 'valeur' => 'US' , 'zone' => 2);
array('nom' => 'France' , 'valeur' => 'FR' , 'zone' => 1);
etc...
array('nom' => 'Zimbabwé' , 'valeur' => 'ZW' , 'zone' => 3);
);
(encore une fois, les zones indiquées sont fantaisistes)
[code]$LISTE_PAYS = array(
array('nom' => 'Allemagne' , 'valeur' => 'DE');
array('nom' => 'Angleterre' , 'valeur' => 'UK');
array('nom' => 'Belgique' , 'valeur' => 'BE');
array('nom' => 'Etats-Unis' , 'valeur' => 'US');
array('nom' => 'France' , 'valeur' => 'FR');
etc...
array('nom' => 'Zimbabwé' , 'valeur' => 'ZW');
);[/code]
Avec ça, ça devrait aller normalement.
Ainsi, si on décompose ta variable $LISTE_PAYS, on trouve :
$LISTE_PAYS[0] --> correspond à : array('nom' => 'Allemagne' , 'valeur' => 'DE')
>> $LISTE_PAYS[0]['nom'] --> correspond à : 'Allemagne'
>> $LISTE_PAYS[0][valeur] --> correspond à : 'DE'
$LISTE_PAYS[1] --> correspond à : array('nom' => 'Angleterre' , 'valeur' => 'UK')
>> $LISTE_PAYS[1]['nom'] --> correspond à : 'Angleterre'
>> $LISTE_PAYS[1][valeur] --> correspond à : 'UK'
...et ainsi de suite, jusqu'à l'index $i :
$LISTE_PAYS[$i] --> correspond à : array('nom' => 'Zimbabwé' , 'valeur' => 'ZW')
>> $LISTE_PAYS[$i]['nom'] --> correspond à : 'Zimbabwé'
>> $LISTE_PAYS[$i][valeur] --> correspond à : 'ZW'
C'est là que la [b]boucle for[/b] se révèle très pratique pour construire ta liste déroulante, car tu peux facilement énumérer l'index de ton tableau. Et pour récupérer le nombre d'éléments de ton tableau, il suffit donc d'utiliser sizeof($LISTE_PAYS).
Voilà : )
[b]Edition après relecture :[/b] j'ai vu qu'avant je t'avais suggéré de faire une variable $ZONE_PAYS donnant la zone géographique tarifaire d'un pays selon son code... Il serait judicieux d'inclure cette information dans ta variable $LISTE PAYS... Ça rajouterait simplement, pour chaque pays, une 3ème valeur en plus de 'nom' et 'valeur', qui se nommerait 'zone' par exemple.
[code]$LISTE_PAYS = array(
array('nom' => 'Allemagne' , 'valeur' => 'DE' , 'zone' => 1);
array('nom' => 'Angleterre' , 'valeur' => 'UK' , 'zone' => 1);
array('nom' => 'Belgique' , 'valeur' => 'BE' , 'zone' => 1);
array('nom' => 'Etats-Unis' , 'valeur' => 'US' , 'zone' => 2);
array('nom' => 'France' , 'valeur' => 'FR' , 'zone' => 1);
etc...
array('nom' => 'Zimbabwé' , 'valeur' => 'ZW' , 'zone' => 3);
);[/code]
(encore une fois, les zones indiquées sont fantaisistes)