begin process at 2012 05 31 15:53:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

SOS: Listes déroulantes liées


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SOS: Listes déroulantes liées

mardi 6 avril 2010 à 11:41:05 | SOS: Listes déroulantes liées

asma87

Bonjour tout le monde,
Je viens de créer listes déroulantes dynamique liées qui permet le choix entre deux EDGE lorsque je sélectionne un POP donné mais dans l'affichage j'obtiens pas la liste des EDGE correspondants au POP selectionné.Et je sais pas ou est l'erreur exactement pourriez vous m'aidez SVP?
Code PHP :
<?php

echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");

/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */

$serveur = "localhost";

$admin   = "root";

$mdp     = "";

$base    = "vlans";

/* On récupère si elle existe la valeur du POP envoyée par le formulaire */

$idr = isset($_POST['nom_POP'])?$_POST['nom_POP']: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 EDGE selon le POP choisi</title>

<meta name="description" content="Listes déroulantes dynamiques inter-dépendantes" />

</head>

<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">

<?php

if(isset($_POST['ok']) && isset($_POST['nom_PE']) && $_POST['nom_PE'] != "")

{

    $pop_selectionnee = $_POST['nom_POP'];

    $pe_selectionne = $_POST['nom_PE'];

?>

<p>Vous avez sélectionné le EDGE <?php echo($pe_selectionne); ?> dans le POP <?php echo($pop_selectionnee); ?></p>

<?php

}

?>

<h3>Choisir un EDGE </h3>

<?php

/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()

*  car on aura besoin de la connexion un peu plus loin dans le script */

$connexion = mysql_pconnect($serveur, $admin, $mdp);

if($connexion != false)

{

    $choixbase = mysql_select_db($base, $connexion);

    $sql1 = "SELECT `id_POP`, `nom_POP`".

    " FROM `pop`".

    " ORDER BY `id_pop`";

    $rech_pop = mysql_query($sql1);

    $code_pop = array();

    $nom_pop = array();

    /* On active un compteur pour les régions */

    $nb_pop = 0;

    if($rech_pop != false)

    {

        while($ligne = mysql_fetch_assoc($rech_pop))

        {

            array_push($code_pop, $ligne['id_POP']);

            array_push($nom_pop, $ligne['nom_POP']);



            /* On incrémente de compteur */

            $nb_pop++;

        }

    }

    ?>

<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">

<fieldset style="border: 3px double #333399">

<legend>Sélectionnez un POP </legend>

<select name="pop" id="pop" onchange="document.forms['chgdept'].submit();">
  <option value="-1">- - - Choisissez un POP - - -</option>
  <?php

    for($i = 0; $i < $nb_pop; $i++)

    {

?>
  <option value="<?php echo($code_pop[$i]); ?>"<?php echo((isset($idr) && $idr == $code_pop[$i])?" selected=\"selected\"":null); ?>><?php echo($nom_pop[$i]); ?></option>
  <?php

    }

    ?>
</select>
<?php

    mysql_free_result($rech_pop);

    /* On commence par vérifier si on a envoyé un numéro de POP et le cas échéant s'il est différent de -1 */



    if(isset($idr) && $idr != -1)

    {

        /* Cération de la requête pour avoir les EDGE de ce POP */

        $sql2 = "SELECT `id_PE`, `nom_PE`".

        " FROM `pe`".

        " WHERE `id_POP` = ". $idr ."".

        " ORDER BY `id_PE`;";

        if($connexion != false)

        {

            $rech_pe = mysql_query($sql2, $connexion);

            /* Un petit compteur pour les EDGE */

            $nd = 0;

            /* On crée deux tableaux pour les numéros et les noms des EDGE */

            $code_pe = array();

            $nom_pe = array();

            /* On va mettre les numéros et noms des EDGE dans les deux tableaux */

            while($ligne_pe = mysql_fetch_assoc($rech_pe))

            {

                array_push($code_pe, $ligne_pe['id_PE']);

                array_push($nom_pe, $ligne_pe['nom_PE']);

                $nd++;

            }

            /* Maintenant on peut construire la liste déroulante */

            ?>

<select name="pe" id="pe">

            <?php  

            for($d = 0; $d<$nd; $d++)

            {

                ?>

  <option value="<?php echo($code_pe[$d]); ?>"<?php echo((isset($pe_selectionne) && $pe_selectionne == $code_pe[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_pe[$d]); ?></option>

                <?php

            }

?>

</select>




<?php

        }

        /* Un petit coup de balai */

        mysql_free_result($rech_pe);

    }

?>

<br /><input type="submit" name="ok" id="ok" value="Envoyer" />

</fieldset>

</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... */

?>

<p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>

<?php

}

?>

</body>

</html> 




Cette discussion est classée dans : pop, listes, liées, edge, déroulantes


Répondre à ce message

Sujets en rapport avec ce message

listes déroulantes liées et en plus... [ par lsteamgeo ] Je cherche des personnes qui pourrai m'aider pour faire un script php/mysql. 2 listes déroulante lié avec à la sélection d'un item > affichage d'une i listes déroulantes liées [ par jenjen ] bonjour, je souhaite lier 2 listes déroulantes, ma première liste contient le nom de certaines tables que j'ai extrait de ma base de données et la sec Listes déroulantes liées/dépendantes [ par neosqual ] Bonjour à tous,Je développe actuellement un petit site gérant une base de données via mysql/php. J'utilise Dreamweaver MX et j'aurai voulu savoir comm Listes déroulantes liées [ par martins13 ] Bonjour,Je travaille sur un développement de site internet et je voudrais sur mes pages avoir deux listes déroulantes qui sont liées.Alors la première listes déroulantes liées [ par Limahl19 ] Bonjour,J'aimerai savoir s'il est possible de créer deux listes deroulantes dans un meme formulaire, dont la deuxieme se remplie en fonction de la pre liste deroulante liées [ par mickael56100 ] bonjour, je souhaiterais réaliser des listes déroulantes liées entre elles en fesant appel à une base de données mysql, tout cela en php, javascript,m 2 listes déroulantes liées entre elles. (Déjà traité je sais, mais je ne comprends rien !) [ par Calypdoso ] Bonjour,J'ai une base de donnée Mysql avec des tables (utilisateurs) et naturellement des champs (iduser; nom; prenom).Je souhaite une liste dérulante liste déroulantes liées [ par maguidi ] sltje suis vraiment désespéré j suis en stage et j dois réaliser 4 listes déroulantes liées la liste2 est les élément de la liste 2 dépende du choix f 3 liste deroulante liées PHP/MYSQL/AJAX [ par zied86 ] Bonjour; j'ai un probleme avec les listes deroulantes liées j'ai trois table (tab1, tab2, tab3) tab1 contient un ou plusieurs tab2 tab1 contient u Access et listes déroulantes [ par g_Verlaine ] J'ai visité des milliers de sites et essayé autant de scripts mais, débutant, kkchose doit m'échapper.Je veux simplement remplir une liste déroulante


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales