Code : Tout sélectionner
#
# Structure de la table `departement`
#
CREATE TABLE `departement` (
`id_departement` VARCHAR(2) NOT NULL,
`departement` VARCHAR(50) NOT NULL default '',
`id_region` INT(11) NOT NULL default '0',
PRIMARY KEY (`id_departement`)
) TYPE=MyISAM;
#
# Contenu de la table `departement`
#
INSERT INTO `departement` VALUES ('01', 'Ain', 22);
INSERT INTO `departement` VALUES ('02', 'Aisne', 19);
INSERT INTO `departement` VALUES ('03', 'Allier', 3);
INSERT INTO `departement` VALUES ('04', 'Alpes-de-Haute-Provence', 21);
INSERT INTO `departement` VALUES ('05', 'Hautes-Alpes', 21);
INSERT INTO `departement` VALUES ('06', 'Alpes-Maritimes', 21);
INSERT INTO `departement` VALUES ('07', 'Ardèche', 22);
INSERT INTO `departement` VALUES ('08', 'Ardennes', 8);
INSERT INTO `departement` VALUES ('09', 'Ariège', 16);
INSERT INTO `departement` VALUES ('10', 'Aube', 8);
INSERT INTO `departement` VALUES ('11', 'Aude', 13);
INSERT INTO `departement` VALUES ('12', 'Aveyron', 16);
INSERT INTO `departement` VALUES ('13', 'Bouches-du-Rhône', 21);
INSERT INTO `departement` VALUES ('14', 'Calvados', 4);
INSERT INTO `departement` VALUES ('15', 'Cantal', 3);
INSERT INTO `departement` VALUES ('16', 'Charente', 20);
INSERT INTO `departement` VALUES ('17', 'Charente-Maritime', 20);
INSERT INTO `departement` VALUES ('18', 'Cher', 7);
INSERT INTO `departement` VALUES ('19', 'Corrèze', 14);
INSERT INTO `departement` VALUES ('2A', 'Corse-du-Sud', 9);
INSERT INTO `departement` VALUES ('2B', 'Haute-Corse', 9);
INSERT INTO `departement` VALUES ('21', 'Côte-d\'Or', 5);
INSERT INTO `departement` VALUES ('22', 'Côtes-d\'Armor', 6);
INSERT INTO `departement` VALUES ('23', 'Creuse', 14);
INSERT INTO `departement` VALUES ('24', 'Dordogne', 2);
INSERT INTO `departement` VALUES ('25', 'Doubs', 10);
INSERT INTO `departement` VALUES ('26', 'Drôme', 22);
INSERT INTO `departement` VALUES ('27', 'Eure', 11);
INSERT INTO `departement` VALUES ('28', 'Eure-et-Loir', 7);
INSERT INTO `departement` VALUES ('29', 'Finistère', 6);
INSERT INTO `departement` VALUES ('30', 'Gard', 13);
INSERT INTO `departement` VALUES ('31', 'Haute-Garonne', 16);
INSERT INTO `departement` VALUES ('32', 'Gers', 16);
INSERT INTO `departement` VALUES ('33', 'Gironde', 2);
INSERT INTO `departement` VALUES ('34', 'Hérault', 13);
INSERT INTO `departement` VALUES ('35', 'Ille-et-Vilaine', 6);
INSERT INTO `departement` VALUES ('36', 'Indre', 7);
INSERT INTO `departement` VALUES ('37', 'Indre-et-Loire', 7);
INSERT INTO `departement` VALUES ('38', 'Isère', 22);
INSERT INTO `departement` VALUES ('39', 'Jura', 10);
INSERT INTO `departement` VALUES ('40', 'Landes', 2);
INSERT INTO `departement` VALUES ('41', 'Loir-et-Cher', 7);
INSERT INTO `departement` VALUES ('42', 'Loire', 22);
INSERT INTO `departement` VALUES ('43', 'Haute-Loire', 3);
INSERT INTO `departement` VALUES ('44', 'Loire-Atlantique', 18);
INSERT INTO `departement` VALUES ('45', 'Loiret', 7);
INSERT INTO `departement` VALUES ('46', 'Lot', 16);
INSERT INTO `departement` VALUES ('47', 'Lot-et-Garonne', 2);
INSERT INTO `departement` VALUES ('48', 'Lozère', 13);
INSERT INTO `departement` VALUES ('49', 'Maine-et-Loire', 18);
INSERT INTO `departement` VALUES ('50', 'Manche', 4);
INSERT INTO `departement` VALUES ('51', 'Marne', 8);
INSERT INTO `departement` VALUES ('52', 'Haute-Marne', 8);
INSERT INTO `departement` VALUES ('53', 'Mayenne', 18);
INSERT INTO `departement` VALUES ('54', 'Meurthe-et-Moselle', 15);
INSERT INTO `departement` VALUES ('55', 'Meuse', 15);
INSERT INTO `departement` VALUES ('56', 'Morbihan', 6);
INSERT INTO `departement` VALUES ('57', 'Moselle', 15);
INSERT INTO `departement` VALUES ('58', 'Nièvre', 5);
INSERT INTO `departement` VALUES ('59', 'Nord', 17);
INSERT INTO `departement` VALUES ('60', 'Oise', 19);
INSERT INTO `departement` VALUES ('61', 'Orne', 4);
INSERT INTO `departement` VALUES ('62', 'Pas-de-Calais', 17);
INSERT INTO `departement` VALUES ('63', 'Puy-de-Dôme', 3);
INSERT INTO `departement` VALUES ('64', 'Pyrénées-Atlantiques', 2);
INSERT INTO `departement` VALUES ('65', 'Hautes-Pyrénées', 16);
INSERT INTO `departement` VALUES ('66', 'Pyrénées-Orientales', 13);
INSERT INTO `departement` VALUES ('67', 'Bas-Rhin', 1);
INSERT INTO `departement` VALUES ('68', 'Haut-Rhin', 1);
INSERT INTO `departement` VALUES ('69', 'Rhône', 22);
INSERT INTO `departement` VALUES ('70', 'Haute-Saône', 10);
INSERT INTO `departement` VALUES ('71', 'Saône-et-Loire', 5);
INSERT INTO `departement` VALUES ('72', 'Sarthe', 18);
INSERT INTO `departement` VALUES ('73', 'Savoie', 22);
INSERT INTO `departement` VALUES ('74', 'Haute-Savoie', 22);
INSERT INTO `departement` VALUES ('75', 'Paris', 12);
INSERT INTO `departement` VALUES ('76', 'Seine-Maritime', 11);
INSERT INTO `departement` VALUES ('77', 'Seine-et-Marne', 12);
INSERT INTO `departement` VALUES ('78', 'Yvelines', 12);
INSERT INTO `departement` VALUES ('79', 'Deux-Sèvres', 20);
INSERT INTO `departement` VALUES ('80', 'Somme', 19);
INSERT INTO `departement` VALUES ('81', 'Tarn', 16);
INSERT INTO `departement` VALUES ('82', 'Tarn-et-Garonne', 16);
INSERT INTO `departement` VALUES ('83', 'Var', 21);
INSERT INTO `departement` VALUES ('84', 'Vaucluse', 21);
INSERT INTO `departement` VALUES ('85', 'Vendée', 18);
INSERT INTO `departement` VALUES ('86', 'Vienne', 20);
INSERT INTO `departement` VALUES ('87', 'Haute-Vienne', 14);
INSERT INTO `departement` VALUES ('88', 'Vosges', 15);
INSERT INTO `departement` VALUES ('89', 'Yonne', 5);
INSERT INTO `departement` VALUES ('90', 'Territoire de Belfort', 10);
INSERT INTO `departement` VALUES ('91', 'Essonne', 12);
INSERT INTO `departement` VALUES ('92', 'Hauts-de-Seine', 12);
INSERT INTO `departement` VALUES ('93', 'Seine-Saint-Denis', 12);
INSERT INTO `departement` VALUES ('94', 'Val-de-Marne', 12);
INSERT INTO `departement` VALUES ('95', 'Val-d\'Oise', 12);
#
# Structure de la table `region`
#
CREATE TABLE `region` (
`id_region` TINYINT NOT NULL auto_increment,
`region` VARCHAR(50) NOT NULL default '',
PRIMARY KEY (`id_region`)
) TYPE=MyISAM;
#
# Contenu de la table `region`
#
INSERT INTO `region` VALUES (1, 'Alsace');
INSERT INTO `region` VALUES (2, 'Aquitaine');
INSERT INTO `region` VALUES (3, 'Auvergne');
INSERT INTO `region` VALUES (4, 'Basse-Normandie');
INSERT INTO `region` VALUES (5, 'Bourgogne');
INSERT INTO `region` VALUES (6, 'Bretagne');
INSERT INTO `region` VALUES (7, 'Centre');
INSERT INTO `region` VALUES (8, 'Champagne');
INSERT INTO `region` VALUES (9, 'Corse');
INSERT INTO `region` VALUES (10, 'Franche-Comté');
INSERT INTO `region` VALUES (11, 'Haute-Normandie');
INSERT INTO `region` VALUES (12, 'Île-de-France');
INSERT INTO `region` VALUES (13, 'Languedoc-Roussillon');
INSERT INTO `region` VALUES (14, 'Limousin');
INSERT INTO `region` VALUES (15, 'Lorraine');
INSERT INTO `region` VALUES (16, 'Midi-Pyrénées');
INSERT INTO `region` VALUES (17, 'Nord-pas-de-Calais');
INSERT INTO `region` VALUES (18, 'Pays de la Loire');
INSERT INTO `region` VALUES (19, 'Picardie');
INSERT INTO `region` VALUES (20, 'Poitou-Charentes');
INSERT INTO `region` VALUES (21, 'Provence-Alpes-Côte-d\'Azur');
INSERT INTO `region` VALUES (22, 'Rhône-Alpes');
<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
$serveur = "localhost";
$admin = "root";
$mdp = "";
$base = "regions";
$idr = isset($_POST['region'])?$_POST['region']:null;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Sélectionner un département selon la région choisie</title>
<meta name="description" content="Listes déroulantes dynamiques inter-dépendantes" />
<meta name="keywords" content="" />
<meta name="author" content="Cyrano" />
<meta name="generator" content="Zend Studio Environnement et WebExpert 5" />
<meta http-equiv="imagetoolbar" content="no" />
<meta http-equiv="Pragma" content="no-cache" />
</head>
<body style="font-family: verdana, helvetica, sans-serif">
<h3>Trouver un département</h3>
<?php
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT `id_region`, `region`".
" FROM `region`".
" ORDER BY `id_region`";
$rech_regions = mysql_query($sql1);
$code_region = array();
$region = array();
/* On active un compteur pour les régions */
$nb_regions = 0;
if($rech_regions != false)
{
while($ligne = mysql_fetch_assoc($rech_regions))
{
array_push($code_region, $ligne['id_region']);
array_push($region, $ligne['region']);
/* On incrémente de compteur */
$nb_regions++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<fieldset style="border: 3px double #333399">
<legend>Sélectionnez une région</legend>
<select name="region" id="region" onchange="document.forms['chgdept'].submit();">
<option value="-1">- - - Choisissez une région - - -</option>
<?php
for($i = 0; $i < $nb_regions; $i++)
{
?>
<option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($rech_regions);
/* On commence par vérifier si on a envoyé un numéro de région et le cas échant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Cération de la requête pour avoir les départements de cette région */
$sql2 = "SELECT `id_departement`, `departement`".
" FROM `departement`".
" WHERE `id_region` = ". $idr ."".
" ORDER BY `id_departement`;";
if($connexion != false)
{
$rech_dept = mysql_query($sql2, $connexion);
/* Un petit compteur pour les départements */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des départements */
$code_dept = array();
$nom_dept = array();
/* On va mettre les numéros et noms des départements dans les deux tableaux */
while($ligne_dept = mysql_fetch_assoc($rech_dept))
{
array_push($code_dept, $ligne_dept['id_departement']);
array_push($nom_dept, $ligne_dept['departement']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="departement" id="departement">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_dept[$d]); ?>"><?php echo($nom_dept[$d]." (". $code_dept[$d] .")"); ?></option>
<?php
}
?>
</select>
<?php
}
mysql_free_result($rech_dept);
}
?>
<br /><input type="submit" name="ok" id="ok" value="Envoyer" />
</fieldset>
</form>
<?php
/* Treminé, on nettoie tout et on ferme la connexion */
mysql_close($connexion);
}
else
{
/* Si on arrive là, c'est pas bon signe, il faut vérifier les
* paramètres de connexion, mot de passe, serveur pas démarré etc... */
?>
<p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>
<?php
}
?>
</body>
</html>
Et en principe il est valide.echo "<TD align=\"left\"><INPUT name=\"Nom\" size=\"12\" maxlenght=\"12\" type=\"text\" value =\"".echo $_POST['Nom']."\"> </TD>";
Mais ceci bien, allez comprendre!echo "<TD align=\"left\"><INPUT name=\"Nom\" size=\"12\" maxlenght=\"12\" type=\"text\" value =\"";echo $_POST['Nom']; echo"\"> </TD>";
Par contre je n'arrive pazs à utiliser al commande DISTINCT dans le select $sql1 = "SELECT DISTINCT localite, codeid FROM codepostal ORDER BY localite ";$sql1 = "SELECT DISTINCT localite, codeid
FROM codepostal
GROUP BY codeid
ORDER BY localite ";<?php
session_start();
include('Base/pgConnect.php');
/********************************************************************************************************
partie concernant le participant
********************************************************************************************************/
?>
<form action="?section=NewInscription" method="POST" id="chgdept">
<?php
echo "<TABLE>";
echo "<H3><B>Participants : <HR></B> </H3>";
echo "
<TR>";
echo "<TD>Civilité :</TD><BR>";
echo "<TD>";
echo "<SELECT name=\"Civilite\" size=\"1\">
<OPTION selected value=\" \">";echo $_POST['Civilite']; echo "</OPTION>
<OPTION value=\"Monsieur\">M</OPTION>
<OPTION value=\"Madame\">Me</OPTION>
<OPTION value=\"Mademoiselle\">Melle</OPTION>
</SELECT>";
echo "</TD>";
echo "<TD>Nom : </TD>";
echo "<TD align=\"left\"><INPUT name=\"Nom\" size=\"12\" maxlenght=\"12\" type=\"text\" value =\"";echo $_POST['Nom']; echo"\"> </TD>";
echo "<TD>Prénom : </TD>";
echo "<TD align=\"left\"><INPUT name=\"Prenom\" size=\"12\" maxlenght=\"12\" type=\"text\" value =\"";echo $_POST['Prenom']; echo"\"> </TD>";
echo"</TR>";
echo "<TR>";
echo "<TD>Rue : </TD>";
echo "<TD align=\"left\"><INPUT name=\"Rue\" size=\"12\" maxlenght=\"12\" type=\"text\" value =\"";echo $_POST['Rue']; echo"\"> </TD>";
echo "<TD>N° : </TD>";
echo "<TD align=\"left\"><INPUT name=\"Numero\" size=\"3\" maxlenght=\"12\" type=\"text\" value =\"";echo $_POST['Numero']; echo"\"> </TD>";
echo "<TD>Bte : </TD>";
echo "<TD align=\"left\"><INPUT name=\"Bte\" size=\"3\" maxlenght=\"12\" type=\"text\"value =\"";echo $_POST['Bte']; echo"\"> </TD>";
echo "</TR>";
echo "</Table><Table><TR><TD>Localité</TD><TD>";
/********************************************************************************************************
Bout de code pour le choix automatique de la commune etc...
********************************************************************************************************/
$idr = isset($_POST['Loc'])?$_POST['Loc']:null;
if($Connect != false)
{
{
$sql1 = "SELECT DISTINCT localite, codeid FROM codepostal ORDER BY localite";
$rech_regions = pg_query($sql1);
$code_region = array();
$region = array();
/* On active un compteur pour les régions */
$nb_regions = 0;
if($rech_regions != false)
while($ligne = pg_fetch_assoc($rech_regions))
{
array_push($code_region, $ligne['codeid']);
array_push($region, $ligne['localite']);
/* On incrémente de compteur */
$nb_regions++;
}
}
?>
<select name="Loc" id="loc" onchange="document.forms['chgdept'].submit();">isset($_POST['Loc'])?$_POST['Loc']:null;
<option value="-1">- - - Choisissez une localité - - -</option>
<?php
for($i = 0; $i < $nb_regions; $i++)
{
?>
<option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>
<?php
}
?>
</select>
<?php
pg_free_result($rech_regions);
/* On commence par vérifier si on a envoyé un numéro de région et le cas échant s'il est différent de -1 */
echo "</TD><TR>";
echo "<TR><TD>Commune</TD><TD>";
if(isset($idr) && $idr != -1)
{
/* Cération de la requête pour avoir les départements de cette région */
$sql2 = "SELECT DISTINCT codeid, commune FROM codepostal WHERE codeid = $idr ORDER BY codeid";
if($Connect != false)
{
$rech_dept = pg_query($sql2);
/* Un petit compteur pour les départements */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des départements */
$code_dept = array();
$nom_dept = array();
/* On va mettre les numéros et noms des départements dans les deux tableaux */
while($ligne_dept = pg_fetch_assoc($rech_dept))
{
array_push($code_dept, $ligne_dept['codeid']);
array_push($nom_dept, $ligne_dept['commune']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="Commune" id="Commune">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_dept[$d]); ?>"><?php echo($nom_dept[$d] ); ?></option>
<?php
}
?>
</select>
<?php
}
pg_free_result($rech_dept);
}
?>
</TD><TD>Code Postal</TD><TD>
<?php
if(isset($idr) && $idr != -1)
{
/* Cération de la requête pour avoir les départements de cette région */
$sql3 = "SELECT DISTINCT codeid, codepost FROM codepostal WHERE codeid = $idr ORDER BY codeid";
if($Connect != false)
{
$rechLocalite= pg_query($sql3);
/* Un petit compteur pour les départements */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des départements */
$codedept = array();
$nomdept = array();
/* On va mettre les numéros et noms des départements dans les deux tableaux */
while($lignedept = pg_fetch_assoc($rechLocalite))
{
array_push($codedept, $lignedept['codeid']);
array_push($nomdept, $lignedept['codepost']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="CodePostal" id="CodePostal">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($codedept[$d]); ?>"><?php echo($nomdept[$d]); ?></option>
<?php
}
?>
</select>
<?php
}
pg_free_result($rechLocalite);
}
?>
<?php
echo "</form>";
echo "</TD></TR>";
//A partir d'ici les $_POST ne Passe plus
echo "<TR>";
echo "<TD>Né(e) à : </TD>";
echo "<TD align=\"left\"><INPUT name=\"LieuNaissance\" size=\"12\" maxlenght=\"12\" type=\"text\" value =\"";echo $_POST['LieuNaissance']; echo"\"> </TD>";
?>
........
</form>
<?php
}
else
{
/* Si on arrive là, c'est pas bon signe, il faut vérifier les
* paramètres de connexion, mot de passe, serveur pas démarré etc... */
echo "<p>Un incident s\'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>";
}
echo "</TABLE>";
$valeurs_liste_1 = isset($_POST['nom_liste_1']) ? $_POST['nom_liste_1'] : "";
$valeurs_liste_2 = isset($_POST['nom_liste_2']) ? $_POST['nom_liste_2'] : "";
explication ICI