Liste déroulante avec tous les pays

Soyez le premier à donner votre avis sur cette source.

Vue 83 580 fois - Téléchargée 6 268 fois

Description

J'ai fait ce script parce que ben à priori je ne l'ai pas trouvé ici. C'est pas grand chose mais ca peut servir.

Liste tous les pays du monde dans une combo
  • D'une part : via un fichier texte chargé dans une table Mysql
  • D'autre part : via un fichier texte qui contient la liste des pays

Source / Exemple :


<?php
	
	 // connexion à la base
	$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
	
	// sélection de la base  
    mysql_select_db('test',$db)  or die('Erreur de selection '.mysql_error());
    
    // requête sql
    $sql = "CREATE TABLE pays (iso varchar(2) NOT NULL,nom varchar(50) NOT NULL,UNIQUE KEY iso (iso)) ENGINE=InnoDB DEFAULT CHARSET=latin1;";
    
    // on crée la table
    //mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    echo '<br>Table \'pays\' créée.';
	
	//CHARGEMENTDU FICHIER LISTE PAYS DANS LA TABLE PAYS
	//////////////////////////////////////////////////////////////////

    // requête sql
    $sql = "LOAD DATA INFILE 'c:/liste_pays.txt' INTO TABLE pays;";
    
    // on charge le fichier dans la table
    //mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    echo 'Votre fichier a été chargé.';

?> 

<form action="" method="post" name="form">
<p><b>Liste Déroulante à partir d'une table mysql</b>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Choisissez un Pays</td>
    <td><select name="pays" id="pays">
					<?php
						// requête sql
						$sql = "SELECT * FROM pays;";
						
						// on sélectionne toutes les entrées de la table
						$req=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
						
						//On affiche ces entrées
						while($data = mysql_fetch_assoc($req))
						{
							if ($data['nom']=='France') // France est sélectionné par défaut
							print '<option value='.$data['iso'].' selected="selected">'.$data['nom'].'</option>';
							else
							print '<option value='.$data['iso'].'>'.$data['nom'].'</option>';
						}
					
					    mysql_close();  // on ferme la connexion

					?>
				</select>
	</td>
  </tr>
</table>
</p>

<p><b>Liste Déroulante à partir d'un fichier texte</b>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Choisissez un Pays</td>
    <td><select name="pays" id="pays">
					<?php
						$id_fichier= fopen("c:/liste_pays.txt","r");
						while($ligne=fgets($id_fichier,1024))
						{
							$ligne=explode(chr(9),$ligne); //chr(9) est le code ascii de tab
							if ($ligne[1]=='France') // France est sélectionné par défaut
							print '<option value='.$ligne[0].' selected="selected">'.$ligne[1].'</option>';
							else
							print '<option value='.$ligne[0].'>'.$ligne[1].'</option>';
						}
					?>
				</select>
	</td>
  </tr>
</table>
</p>
</form>

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
13 mars 2012

Bonjour j'ai utilisé ce code avec la liste des pays en fichier texte mais à l'envoi du pays sélectionné par email, je recois que les deux lettre par exemple, quand je sélectionné France dans le menu déroulant, le résultat que j'ai par émail c'est 'FR'
comment je fais pour avoir le nom complet du pays

Merci
Messages postés
66
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
5 juillet 2013

bonsoir à tous et merci THEOS ton post m'a été très util.
Messages postés
2
Date d'inscription
samedi 10 avril 2010
Statut
Membre
Dernière intervention
2 novembre 2010

Désoler pour le directio_ville & directio_villes qui en fait est le nom de la base de données dans un premier temps & le nom de la table!
Messages postés
2
Date d'inscription
samedi 10 avril 2010
Statut
Membre
Dernière intervention
2 novembre 2010

Merci pour ta liste de pays ! Et merci Theos je me permets d'apporter une petite correction et une amélioration.

INSERT INTO `directio_ville`.`directio_villes` (
`NomPays` ,`CodePays`)VALUES ('France','FR'),
('Suisse','CH'),
('Luxembourg','LU'),
('Belgique','BE'),
('Allemagne','DE'),
('Autriche','AT'),
('Russie','RU'),
('Etats-Unis','US'),
('Canada','CA'),
('Royaume-Uni','GB'),
('Australie','AU'),
('Japon','JP'),
('Inde','IN'),
('Grèce','GR'),
('Mexique','MX'),
('Brésil','BR'),
('Suède','SE'),
('Espagne','ES'),
('Afghanistan','AF'),
('Afrique du Sud','ZA'),
('Albanie','AL'),
('Algérie','DZ'),
('Andorre','AD'),
('Angola','AO'),
('Anguilla','AI'),
('Antarctique','AQ'),
('Antigua-et-Barbuda','AG'),
('Antilles néerlandaises','AN'),
('Arabie saoudite','SA'),
('Argentine','AR'),
('Arménie','AM'),
('Aruba','AW'),
('Azerbaïdjan','AZ'),
('Bénin','BJ'),
('Bahamas','BS'),
('Bahreïn','BH'),
('Bangladesh','BD'),
('Barbade','BB'),
('Belau','PW'),
('Belize','BZ'),
('Bermudes','BM'),
('Bhoutan','BT'),
('Biélorussi','BY'),
('Birmani','MM'),
('Bolivie','BO'),
('Bosnie-Herzégovin','BA'),
('Botswana','BW'),
('Brunei','BN'),
('Bulgarie','BG'),
('Burkina Faso','BF'),
('Burundi','BI'),
('Côte d''Ivoire','CI'),
('Cambodge','KH'),
('Cameroun','CM'),
('Cap-Vert','CV'),
('Chili','CL'),
('Chine','CN'),
('Chypre','CY'),
('Colombie','CO'),
('Comores','KM'),
('Congo','CG'),
('Corée du Nord','KP'),
('Corée du Sud','KR'),
('Costa Rica','CR'),
('Croatie','HR'),
('Cuba','CU'),
('Danemark','DK'),
('Djibouti','DJ'),
('Dominique','DM'),
('Egypte','EG'),
('Emirats arabes unis','AE'),
('Equateur','EC'),
('Erythrée','ER'),
('Estonie','EE'),
('Ethiopie','ET'),
('Finlande','FI'),
('Géorgie','GE'),
('Gabon','GA'),
('Gambie','GM'),
('Ghana','GH'),
('Gibraltar','GI'),
('Grenade','GD'),
('Groenland','GL'),
('Guadeloupe','GP'),
('Guam','GU'),
('Guatemala','GT'),
('Guinée','GN'),
('Guinée équatoriale','GQ'),
('Guinée-Bissao','GW'),
('Guyana','GY'),
('Guyane française','GF'),
('Haïti','HT'),
('Honduras','HN'),
('Hong Kong','HK'),
('Hongrie','HU'),
('Ile Bouvet','BV'),
('Ile Christmas','CX'),
('Ile Norfolk','NF'),
('Iles Cayman','KY'),
('Iles Cook','CK'),
('Iles Féroé','FO'),
('Iles Falkland','FK'),
('Iles Fidji','FJ'),
('Iles Géorgie du Sud et Sandwich du Sud','GS'),
('Iles Heard et McDonald','HM'),
('Iles Marshall','MH'),
('Iles Pitcairn','PN'),
('Iles Salomon','SB'),
('Iles Svalbard et Jan Mayen','SJ'),
('Iles Turks-et-Caicos','TC'),
('Iles Vierges américaines','VI'),
('Iles Vierges britanniques','VG'),
('Iles des Cocos (Keeling)','CC'),
('Iles mineures éloignées des Etats-Unis','UM'),
('Indonésie','ID'),
('Iran','IR'),
('Iraq','IQ'),
('Irlande','IE'),
('Islande','IS'),
('Israël','IL'),
('Italie','IT'),
('Jamaïque','JM'),
('Jordanie','JO'),
('Kazakhstan','KZ'),
('Kenya','KE'),
('Kirghizistan','KG'),
('Kiribati','KI'),
('Koweït','KW'),
('Laos','LA'),
('Lesotho','LS'),
('Lettonie','LV'),
('Liban','LB'),
('Liberia','LR'),
('Libye','LY'),
('Liechtenstein','LI'),
('Lituanie','LT'),
('Macao','MO'),
('Madagascar','MG'),
('Malaisie','MY'),
('Malawi','MW'),
('Maldives','MV'),
('Mali','ML'),
('Malte','MT'),
('Mariannes du Nord','MP'),
('Maroc','MA'),
('Martinique','MQ'),
('Maurice','MU'),
('Mauritanie','MR'),
('Mayotte','YT'),
('Micronésie','FM'),
('Moldavie','MD'),
('Monaco','MC'),
('Mongolie','MN'),
('Montserrat','MS'),
('Mozambique','MZ'),
('Népal','NP'),
('Namibie','NA'),
('Nauru','NR'),
('Nicaragua','NI'),
('Niger','NE'),
('Nigeria','NG'),
('Nioué','NU'),
('Norvège','NO'),
('Nouvelle-Calédonie','NC'),
('Nouvelle-Zélande','NZ'),
('Oman','OM'),
('Ouganda','UG'),
('Ouzbékistan','UZ'),
('Pérou','PE'),
('Pakistan','PK'),
('Panama','PA'),
('Papouasie-Nouvelle-Guinée','PG'),
('Paraguay','PY'),
('Pays-Bas','NL'),
('Philippines','PH'),
('Pologne','PL'),
('Polynésie française','PF'),
('Porto Rico','PR'),
('Portugal','PT'),
('Qatar','QA'),
('République centrafricaine','CF'),
('République démocratique du Congo','CD'),
('République dominicaine','DO'),
('République tchèque','CZ'),
('Réunion','RE'),
('Roumanie','RO'),
('Rwanda','RW'),
('Sénégal','SN'),
('Sahara occidental','EH'),
('Saint-Christophe-et-Niévès','KN'),
('Saint-Marin','SM'),
('Saint-Pierre-et-Miquelon','PM'),
('Saint-Siège ','VA'),
('Saint-Vincent-et-les-Grenadines','VC'),
('Sainte-Hélène','SH'),
('Sainte-Lucie','LC'),
('Salvador','SV'),
('Samoa','WS'),
('Samoa américaines','AS'),
('Sao Tomé-et-Principe','ST'),
('Seychelles','SC'),
('Sierra Leone','SL'),
('Singapour','SG'),
('Slovénie','SI'),
('Slovaquie','SK'),
('Somalie','SO'),
('Soudan','SD'),
('Sri Lanka','LK'),
('Suriname','SR'),
('Swaziland','SZ'),
('Syrie','SY'),
('Taïwan','TW'),
('Tadjikistan','TJ'),
('Tanzanie','TZ'),
('Tchad','TD'),
('Terres australes françaises','TF'),
('Territoire britannique de l''Océan Indien','IO'),
('Thaïlande','TH'),
('Timor Oriental','TL'),
('Togo','TG'),
('Tokélaou','TK'),
('Tonga','TO'),
('Trinité-et-Tobago','TT'),
('Tunisie','TN'),
('Turkménistan','TM'),
('Turquie','TR'),
('Tuvalu','TV'),
('Ukraine','UA'),
('Uruguay','UY'),
('Vanuatu','VU'),
('Venezuela','VE'),
('Viêt Nam','VN'),
('Wallis-et-Futuna','WF'),
('Yémen','YE'),
('Yougoslavie','YU'),
('Zambie','ZM'),
('Zimbabw','ZW'),
('ex-République yougoslave de Macédoin','MK');
Messages postés
5
Date d'inscription
dimanche 20 septembre 2009
Statut
Membre
Dernière intervention
25 janvier 2010

Bonsoir à tous, je n'arrive pas à intégrer ce script dans ma page Web (Izispot) j'ai un message d'erreur '.$ligne[1].' ? quelqu'un à une idée ?
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.