Listes liées

Messages postés
12
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
3 janvier 2011
- - Dernière réponse :  riad - 20 mai 2018 à 13:11
Bonjour,
je vous explique le travail que je doit fare
J'ai 3 tables
table1: contient les WILAYA
table 2: Contient les DAIRA
table 3: contient les COMMUNES

- chaque WILAYA contient plusieurs DAIRA
-Chaque DAIRA contient plusieurs commune

je veut faire 3 listes , la 1ere liste contient les WILAYA , dés que je clique sur une WILAYA automatiquement dans la deusième liste s'affichent les DAIRA, et dans la 2eme liste quand je choisi une DAIRA il s'affichennt dans la troisième liste les COMMUNES.

SVP veuillez me donnez le code de ça
Merci bcp
Afficher la suite 

Votre réponse

8 réponses

Messages postés
91
Date d'inscription
dimanche 12 août 2007
Dernière intervention
21 septembre 2014
0
Merci
salut,
si tu veux des aidés bah avec plaisir, mais le code franchement j'ai ni le temps ni la motivation pour le faire,

je pense pas que t'aurai ce problème si tu maitrise bien javascript ou ajax, si non a mon avis la meilleur façon c'est d'utiliser la méthode
onchange="Javascript :document.action="nom_de_pages.php?num=<?php echo $num_du_wilaya_selectionné ; ?> , document.nom_de_la_form.submit()"
 dans la liste des wilayas on envoi le num de wilaya pour afficher la liste des dairas et la meme chose pour afficher la liste des communs ,
    
bon courage,
Commenter la réponse de cs_rinuom99
Messages postés
12
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
3 janvier 2011
0
Merci
bJR
oui je suis débuttante en php et on m'a demandé ce travail svp . j'ai trouvé cette exemple dans ce lien pour 2 listes et je n'ai pas su faire la troisieme si vous pouvez me completer cette exemple je vous serai reconaissante
Commenter la réponse de amel001
Messages postés
12
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
3 janvier 2011
Commenter la réponse de amel001
Messages postés
91
Date d'inscription
dimanche 12 août 2007
Dernière intervention
21 septembre 2014
0
Merci
bonjours
voilà,

fichier auteur.php

<?php
// la configuration pour accédé au serveur et sélectionné la base de donnée

?>
<html>
    <head>
        <title>My webpage is rich</title>
        <script type='text/javascript'>
     
            function getXhr(){
                            var xhr = null;
                if(window.XMLHttpRequest){ // Firefox et autres
                   xhr = new XMLHttpRequest();
                  
                }
                else if(window.ActiveXObject){ // Internet Explorer
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                   xhr = false;
                }
                            return xhr;
            }
           
           

            /**
            * Méthode qui sera appelée sur le click du bouton
            */
            function change(){
               
                var xhr = getXhr();
                   
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                   
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 && xhr.status 200){
                        di = document.getElementById('livre1');
                        di.innerHTML = xhr.responseText;
                    }
                }

                // Ici on va voir comment faire du post
                xhr.open("POST","ajaxLivre.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                // ne pas oublier de poster les arguments
                // ici, l'id de l'auteur
                idauteur = document.getElementById('auteur').options[document.getElementById('auteur').selectedIndex].value;
                //alert(idauteur);
                xhr.send("idAuteur="+idauteur);
               
               
            }
           
            function change2(){
               
                var xhr = getXhr();
                   
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                   
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 && xhr.status 200){
                        di = document.getElementById('commune');
                        di.innerHTML = xhr.responseText;
                    }
                }

                // Ici on va voir comment faire du post
                xhr.open("POST","ajaxcommun.php",true);
               
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
               
                // ne pas oublier de poster les arguments
                // ici, l'id de l'auteur
                id_daira = document.getElementById('livre').options[document.getElementById('livre').selectedIndex].value;
               
                //alert(idauteur);
                xhr.send("id_daira="+id_daira);
               
               
            }
        </script>
    </head>
   
        <form>
            <fieldset style="width: 700px">
                <legend>Liste liées</legend>
                <label>Auteurs</label>
                <select name='auteur' id='auteur' onChange='change()'>
                  <option value='-1'>Aucun</option>
                  <?php
                       
                        $res = mysql_query("SELECT * FROM auteur ORDER BY nom");
                        while($row = mysql_fetch_assoc($res)){
                            echo "<option value='".$row["id"]."'>".$row["nom"]."</option>";
                        }
                    ?>
                </select>
                <label>Livres</label>
               

                <select name='livre'>
                    <option value='-1'>Choisir un livre</option>
                </select>
               

                <label>commune</label>
               

                <select name='commune'>
                    <option value='-1'>Choisir une commune</option>
                </select>
               

            </fieldset>
        </form>
   
</html>

tu crées un nouveau fichier ajaxcommun.php
<?php
// tu mis ici la configuration de ton serveur, login, mot de passe, la sélection de
// la base de donnée ...etc
    echo "<select name='commune'>";
    if(isset($_REQUEST["id_daira"])){
       
        $res = mysql_query("SELECT id,nom FROM baladia WHERE id_daira=".$_REQUEST["id_daira"]." ORDER BY nom");
        while($row = mysql_fetch_assoc($res)){
            echo "<option value='".$row["id"]."'>".$row["nom"]."</option>";
        }
    }
    else
        echo "<option value='-1'>Choisir une commune_</option>";
    echo "</select>";
?>

pour la troisième table j'ai la crée comme suit
CREATE TABLE `baladia` (
  `id` int(11) NOT NULL auto_increment,
  `nom` varchar(255) NOT NULL,
  `id_daira` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

--
-- Contenu de la table `baladia`
--

INSERT INTO `baladia` (`id`, `nom`, `id_daira`) VALUES
(1, '', 0),
(2, 'casbah', 1),
(3, 'bouloughin', 1),
(4, 'harach', 1),
(5, 'sidimhammed', 2),
(6, 'belouezdad', 2),
(7, 'kherouba', 2),
(8, 'dely brahim', 3),
(9, 'ben aknoun', 3),
(10, 'bouzerea', 3),
(11, '3in el beniane', 3);

et c tout, j'ai le bien testé , il fonctionne parfaitement,

bon courage
Commenter la réponse de cs_rinuom99
Messages postés
12
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
3 janvier 2011
0
Merci
Merci bcp pour la réponse .
Mais
voila le 1er fichier wilaya.php avec les champs (code_wil,nom_wil)

<?
      mysql_connect("localhost","root","");
      mysql_select_db("test2");?>
<?php
// la configuration pour accédé au serveur et sélectionné la base de donnée


 


?>
<html>
    <head>
        <title>My webpage is rich</title>
        <script type='text/javascript'>
     
            function getXhr(){
                            var xhr = null;
                if(window.XMLHttpRequest){ // Firefox et autres
                   xhr = new XMLHttpRequest(); 
                   
                }
                else if(window.ActiveXObject){ // Internet Explorer 
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur 
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
                   xhr = false; 
                } 
                            return xhr;
            }
            
            


 


            /**
            * Méthode qui sera appelée sur le click du bouton
            */
            function change(){
                
                var xhr = getXhr();
                    
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                    
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 &amp;&amp; xhr.status 200){
                        di = document.getElementById('daira1');
                        di.innerHTML = xhr.responseText;
                    }
                }


 


                // Ici on va voir comment faire du post
                xhr.open("POST","ajaxdaira.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                // ne pas oublier de poster les arguments
                // ici, l'id de l'wilaya
                code_wil = document.getElementById('wilaya').options[document.getElementById('wilaya').selectedIndex].value;
                //alert(code_wil);
                xhr.send("code_wil="+code_wil);
                
                
            }
            
            function change2(){
                
                var xhr = getXhr();
                    
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                    
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 &amp;&amp; xhr.status 200){
                        di = document.getElementById('commune');
                        di.innerHTML = xhr.responseText;
                    }
                }


 


                // Ici on va voir comment faire du post
                xhr.open("POST","ajaxcommun.php",true);
                
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                
                // ne pas oublier de poster les arguments
                // ici, l'id de l'wilaya
                id_daira = document.getElementById('daira').options[document.getElementById('daira').selectedIndex].value;
                
                //alert(code_wil);
                xhr.send("id_daira="+id_daira);
                
                
            }
        </script>
    </head>
    
        <form>
            <fieldset style="width: 700px">
                <legend>Liste liées</legend>
                <label>wilaya</label>
                <select name='wilaya' id='wilaya' onChange='change()'>
                  <option value='-1'>Aucun</option>
                  <?php
                        
                        $res = mysql_query("SELECT * FROM wilaya ORDER BY nom_wil");
                        while($row = mysql_fetch_assoc($res)){
                            echo "<option value='".$row["code_wil"]."'>".$row["nom_wil"]."</option>";
                        }
                    ?>
                </select>
                <label>daira</label>
                

                <select name='daira'>
                    <option value='-1'>Choisir un daira</option>
                </select>
                

                <label>commune</label>
                

                <select name='commune'>
                  <option value='-1'>Choisir une commune</option>
                </select>
                

            </fieldset>
        </form>
    
</html>


voila le fichier ajaxdaira (code_daira, nom_daira,nom_wilaya)
<?php


 


      mysql_connect("localhost","root","");
      mysql_select_db("test2");
      
  


 


    echo "<select name='commune'>";
    if(isset($_REQUEST["code_daira"])){
        
        $res = mysql_query("SELECT code_com,nom_com  FROM commune WHERE code_daira=".$_REQUEST["code_daira"]." ORDER BY nom_com");
        while($row = mysql_fetch_assoc($res)){
            echo "<option value='".$row["code_com"]."'>".$row["nom_com"]."</option>";
        }
    }
    else
        echo "<option value='-1'>Choisir une commune_</option>";
    echo "</select>";
?>

et la table commune(code_com,nom_com,iddaira,idwil)

mais les listes déroulantes sont  vides.
et meme  quand j'ai essayer d'executer le meme code du lien que vous m'avez donné
http://siddh.developpez.com/articles/ajax/#LIV-A

sans rien changer il ne marche pas
Commenter la réponse de amel001
Messages postés
12
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
3 janvier 2011
0
Merci
j'ai rectifié
fichier wilaya.php
[code/]
<?
      mysql_connect("localhost","root","");
      mysql_select_db("test2");?>
<?php
// la configuration pour accédé au serveur et sélectionné la base de donnée


 


?>
<html>
    <head>
        <title>My webpage is rich</title>
        <script type='text/javascript'>
    
            function getXhr(){
                            var xhr = null;
                if(window.XMLHttpRequest){ // Firefox et autres
                   xhr = new XMLHttpRequest();
                  
                }
                else if(window.ActiveXObject){ // Internet Explorer
                   try {
                            xhr = new ActiveXObject("Msxml2.XMLHTTP");
                        } catch (e) {
                            xhr = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                }
                else { // XMLHttpRequest non supporté par le navigateur
                   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                   xhr = false;
                }
                            return xhr;
            }
           
           


 


            /**
            * Méthode qui sera appelée sur le click du bouton
            */
            function change(){
               
                var xhr = getXhr();
                   
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                   
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 && xhr.status 200){
                        di = document.getElementById('daira1');
                        di.innerHTML = xhr.responseText;
                    }
                }


 


                // Ici on va voir comment faire du post
                xhr.open("POST","ajaxdaira.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                // ne pas oublier de poster les arguments
                // ici, l'id de l'wilaya
                code_wil = document.getElementById('wilaya').options[document.getElementById('wilaya').selectedIndex].value;
                //alert(code_wil);
                xhr.send("code_wil="+code_wil);
               
               
            }
           
            function change2(){
               
                var xhr = getXhr();
                   
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                   
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok                    if(xhr.readyState 4 && xhr.status 200){
                        di = document.getElementById('commune');
                        di.innerHTML = xhr.responseText;
                    }
                }


 


                // Ici on va voir comment faire du post
                xhr.open("POST","ajaxdaira.php",true);
               
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
               
                // ne pas oublier de poster les arguments
                // ici, l'id de l'wilaya
                id_daira = document.getElementById('daira').options[document.getElementById('daira').selectedIndex].value;
               
                //alert(code_wil);
                xhr.send("id_daira="+id_daira);
               
               
            }
        </script>
    </head>
   
        <form>
            <fieldset style="width: 700px">
                <legend>Liste liées</legend>
                <label>wilaya</label>
                <select name='wilaya' id='wilaya' onChange='change()'>
                  <option value='-1'>Aucun</option>
                  <?php
                       
                        $res = mysql_query("SELECT * FROM wilaya ORDER BY nom_wil");
                        while($row = mysql_fetch_assoc($res)){
                            echo "<option value='".$row["code_wil"]."'>".$row["nom_wil"]."</option>";
                        }
                    ?>
                </select>
                <label>daira</label>
               

                <select name='daira'>
                    <option value='-1'>Choisir un daira</option>
                </select>
               

                <label>commune</label>
               

                <select name='commune'>
                  <option value='-1'>Choisir une commune</option>
                </select>
               

            </fieldset>
        </form>
   
</html>


 


[code/]

fichier ajaxdaira.php
<?php


 


      mysql_connect("localhost","root","");
      mysql_select_db("test2");
      
 


 


    echo "<select name='commune'>";
    if(isset($_REQUEST["code_daira"])){
       
        $res = mysql_query("SELECT code_com,nom_com  FROM commune WHERE code_daira=".$_REQUEST["code_daira"]." ORDER BY nom_com");
        while($row = mysql_fetch_assoc($res)){
            echo "<option value='".$row["code_com"]."'>".$row["nom_com"]."</option>";
        }
    }
    else
        echo "<option value='-1'>Choisir une commune_</option>";
    echo "</select>";
?>

tjrs ça ne marche pas
les listes deroulante sont vides
Commenter la réponse de amel001
Messages postés
12
Date d'inscription
lundi 17 novembre 2008
Dernière intervention
3 janvier 2011
0
Merci
table wilaya (code_wil,nom_wil)
table daira (code_daira,nom_daira,
table commune (code_com,nom_com,iddaira,idwil)

wilaya contien plusieurs daira
daira contien plusieurs communes
salamo alaykom si possible moi aussi j ai le meme probleme aide moi svp riad
***@***
Commenter la réponse de amel001
0
Merci
salamo alaykom si possible moi aussi j ai le meme probleme aide moi svp
Commenter la réponse de riad

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.