Menu déroulant dynamique

Mammouth du PHP | 19672 Messages

16 juin 2005, 17:09

regarde tes messages privés, il me faut une info.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 16 Messages

16 juin 2005, 17:13

ca y est je te l'ai envoyé
Le Monde appartient à ceux qui se levent tôt !!!!
pppffffffff quelle betise !!!!! LOL
J'aime le javascript, mais lui ne m'aime pas!!! LOL

Mammouth du PHP | 19672 Messages

16 juin 2005, 22:23

Bon, ce sera une version 100% PHP parce que je me suis pris la tête avec les tableaux JavaScript, mais ça fonctionne. Comme en plus le nombre de données est vraiment minime, ça ne devrait pas ralentir l'affaire outre mesure. Pour que ça profite à tout le monde parce que ce problème est souvent soulevé sur le forum, voici d'abord la base, deux tables, une pour les régions, l'autre pour les départements.

Problème posé: on veut sélectionner dans une liste déruoulante une région et avoir automatiquement dans une seconde liste les départements de cette région. VOici le code de la base regions:

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');
Petite remarque Born2PHP, j'ai dû refaire la liste des départements dont les numéros ne correspondaient plus après les deux corses numérotées 20 et 21, décalant les suivantes. J'ai également changé les types de clés primaires: VARCHAR(2) pour les départements, TINYINT pour les régions, mettre des INT ne sert strictement à rien.

Bon la partie tant attendue, le code:
<?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.

Amusez-vous bien :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 16 Messages

17 juin 2005, 10:08

\:D/ Merci Bcpppppppppppp Cyrano =D>

Ton programme tourne nikel

Franchement MERCIIIIIIIIIIIIIIIIIIIIII :D
Le Monde appartient à ceux qui se levent tôt !!!!
pppffffffff quelle betise !!!!! LOL
J'aime le javascript, mais lui ne m'aime pas!!! LOL

Mammouth du PHP | 19672 Messages

17 juin 2005, 11:20

J'en ai fait un modèle dans le forum des développeurs, je vais préparer le même à base de JavaScript quand je trouverai 5mn pour le faire (et à mon avis ça va prendre plus que 5mn) ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 16 Messages

17 juin 2005, 11:36

5 minutes !!!!!!!
Alors toi, tu m'impressionne !!! LOL
En tout cas une chose est sur, t'es balèZe !!!

Mais pour te dire la vérité moi aussi je peux le faire en 5 minutes
( en 5 minutes et 3 mois ) :lol: MDR

Ci@o et encore Marchi
Le Monde appartient à ceux qui se levent tôt !!!!
pppffffffff quelle betise !!!!! LOL
J'aime le javascript, mais lui ne m'aime pas!!! LOL

Mammouth du PHP | 1029 Messages

01 juil. 2005, 13:23

Bonjour, j'essaye d'utiliser votre code dans un formulaire.

En fait j'en avais besoin pour modifier automatiquement 3 champs :

-Localite (1er partie du code)
- commune(2ieme partie du code)
-Code postal(Nouvel partie de code, en fait le 2ieme en plus).

Il se fait que je vousdrais insérer ce code dans un formulaire d'inscription et j'ai donc des champs Nom,Prénom Adresse etc...

Je n'arrive pas à récuperer mes $_POST[Nom], $_POST[Prénom], lors du rafraichissement de la page.

Sauriez-vous me dire pourquoi.

D'avance Merci

Mammouth du PHP | 19672 Messages

01 juil. 2005, 13:37

Sans voir le bout de code correspondant, non.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1029 Messages

01 juil. 2005, 14:12

Désolé , mais j'ai trouvé la réponse.

en fait si je fais ceci cela ne marche pas
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 ";

Mammouth du PHP | 19672 Messages

01 juil. 2005, 14:19

Si tu as plus d'un champ dans ta requête avec un DISTINCT, tu dois ajouter une clause GROUP BY, essaye avec :
$sql1 = "SELECT DISTINCT localite, codeid 
FROM codepostal 
GROUP BY codeid 
ORDER BY localite ";
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Kicoe
Invité n'ayant pas de compte PHPfrance

01 juil. 2005, 14:58

:agenouille: Cyrano, mon maaaaitre LOL

Mammouth du PHP | 1029 Messages

04 juil. 2005, 10:46

Désolé, de réponder si tard, je n'ai pas d'accés Internet le W-K.

Pour alors pour mon problèmes de vaibles $_POST['Quelquechose'], cela fonctionne jusqu'a la partie de mon code qui termine les menus dynamique.
ensuite cela ne fonctionne pas.

De plus ce bout de code n'est qu'une partie de mon formulaires et je vousdrais passer à une feuilles suivantes, mais les $_POST[], ne passe pas.

Pour le select j'essaie de suite.

Voici ma première partie de formulaires.
<?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&eacute; :</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&eacute;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&deg; : </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&eacute;</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&eacute; - - -</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&eacute;(e) &agrave; : </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>";

tom_nameless
Invité n'ayant pas de compte PHPfrance

15 févr. 2006, 11:47

Salut,

Merci pour le code des listes liées...

J'ai une petite question :

Comment poster les valeurs des deux listes dans une autre page ?

Merci pour votre aide..

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

15 févr. 2006, 23:50

comme tout élément d'un formulaire.
$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

si ce n'est pas ce que tu souhaites précise ta question :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

tom_nameless
Invité n'ayant pas de compte PHPfrance

16 févr. 2006, 17:41

non pas trop...

je souhaite poster les valeurs des deux listes dans une autre page à l'aide d'un bouton ou en auto après selection de la 2ème liste

:oops: suis-je clair ? :cry: