Listes liées

amel001 Messages postés 12 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 3 janvier 2011 - 17 nov. 2008 à 13:36
 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
A voir également:

8 réponses

cs_rinuom99 Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 21 septembre 2014 1
17 nov. 2008 à 21:04
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,
0
amel001 Messages postés 12 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 3 janvier 2011 1
18 nov. 2008 à 11:11
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
0
amel001 Messages postés 12 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 3 janvier 2011 1
18 nov. 2008 à 11:14
0
cs_rinuom99 Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 21 septembre 2014 1
18 nov. 2008 à 13:01
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amel001 Messages postés 12 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 3 janvier 2011 1
19 nov. 2008 à 09:25
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
0
amel001 Messages postés 12 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 3 janvier 2011 1
19 nov. 2008 à 09:36
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
0
amel001 Messages postés 12 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 3 janvier 2011 1
19 nov. 2008 à 10:23
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
0
salamo alaykom si possible moi aussi j ai le meme probleme aide moi svp riad
***@***
0
salamo alaykom si possible moi aussi j ai le meme probleme aide moi svp
0
Rejoignez-nous