Partage
  • Partager sur Facebook
  • Partager sur Twitter

liaison de listes deroulantes

    3 mars 2009 à 10:07:37

    Bonjour

    je viens de cree une liste deroulante liee entre la table Fournisseur et la table produits (chaque fournisseur a des produit)j'aimerai lors de clique sur la liste fournisseur j'aurai automatiquement la liste de ses produits mais elles ne marchent pas.

    qlq1 peut m'aider :)

    <html> 
    <head> 
    <title>Listes Liees +four+prod</title> 
    <script type='text/javascript'> 
    
    function getXhr(){ 
                                    var xhr = null; 
    if(window.XMLHttpRequest)// Firefox et autres 
       xhr = new XMLHttpRequest(); 
    elseif(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 go(){ 
    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){ 
    leselect = xhr.responseText; 
    // On se sert de innerHTML pour rajouter les options a la liste 
    document.getElementById('prod').innerHTML = leselect; 
    } 
    } 
    
    // Ici on va voir comment faire du post 
    xhr.open("POST","prod.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 four 
    sel = document.getElementById('four'); 
    idfour = sel.options[sel.selectedIndex].value; 
    xhr.send("idfour="+idfour); 
    
    } 
    </script> 
    
    
    <style> 
    <!-- 
    td{font-family:verdana,sans-serif; font-size:8pt;color:#333333}; 
    body{font-family:verdana,sans-serif; font-size:11pt;color:#333333;font-weight:bold}; 
    //--> 
    </style> 
    
    </head> 
    <body> 
    <center> 
    <p>quel produits et quelle clientes voulez vous choisir?</p> 
    
    <form> 
    <div> 
    <table> 
    <tr><td> 
    <label>Fournisseurs :</label> 
    </td> 
    <td> 
    
    <?php 
    mysql_connect("localhost","root",""); 
                            mysql_select_db("com"); 
    $res = mysql_query("SELECT * FROM fournisseur ORDER BY nomfour"); 
    echo "<select name=\'four\' id=\'four\' onchange=\'go()\'> 
    <option value=\'-1\'>Aucun</option>"; 
    while($row = mysql_fetch_assoc($res)){ 
    echo "<option value=".$row[idfour].">".$row[nomfour]."</option>"; 
    } 
    echo "</select>"; 
    ?> 
    </td></tr> 
    <tr><td> 
    <label>Produits :</label> 
    <div id='prod' style='display:inline'> 
    </td> 
    <td> 
    <?php 
    mysql_connect("localhost","root",""); 
                            mysql_select_db("com"); 
    $res = mysql_query("SELECT Distinct nomproduit FROM Produits "); 
      echo"<select name=\"prod\" id=\"Produits\">"; 
      echo"<option value='-1'>Choisir un produit</option>"; 
    while($row = mysql_fetch_assoc($res)){ 
    echo "<option value=".$row[nomproduit].">".$row[nomproduit]."</option>"; 
    } 
    echo "</select> "; 
    ?> 
    </select> 
    </td> 
    </tr> 
                        <tr><td> 
    <label>Localisation :</label> 
    <td> 
    
    <?php 
    mysql_connect("localhost","root",""); 
                            mysql_select_db("com"); 
    $res = mysql_query("SELECT Distinct Localisation FROM client "); 
      echo"<select name=\"Nom\" id=\"client\">"; 
    while($row = mysql_fetch_assoc($res)){ 
    echo "<option value=".$row[Localisation].">".$row[Localisation]."</option>"; 
    } 
    echo "</select> "; 
    ?> 
    </tr> 
    <tr><td> 
    <label>Client :</label> 
    <td> 
    
    <?php 
    mysql_connect("localhost","root",""); 
                            mysql_select_db("com"); 
    $res = mysql_query("SELECT Distinct SortClt FROM client "); 
         echo"<select name=\"Nom\" id=\"client\">"; 
    while($row = mysql_fetch_assoc($res)){ 
    echo "<option value=".$row[SortClt].">".$row[SortClt]."</option>"; 
    } 
    echo "</select> "; 
    ?> 
    </tr> 
    </table> 
    </div> 
    </form> 
    </body>
    

    • Partager sur Facebook
    • Partager sur Twitter
      3 mars 2009 à 11:54:10

      leselect = xhr.responseText;
      


      Je ne vois pas la déclaration de leselect... ?
      • Partager sur Facebook
      • Partager sur Twitter
        3 mars 2009 à 14:05:08

        Merci d'avoir me repondre
        j'ai changee cette ligne mais ca marche pas
        • Partager sur Facebook
        • Partager sur Twitter
          3 mars 2009 à 15:11:41

          Montre le changement...
          • Partager sur Facebook
          • Partager sur Twitter
            3 mars 2009 à 15:16:14

            j'ai la ligne que tu as mentionne deja

            <html> 
            <head> 
            <title>Listes Liees +four+prod</title> 
            <script type='text/javascript'> 
            
            function getXhr(){ 
                                            var xhr = null; 
            if(window.XMLHttpRequest)// Firefox et autres 
               xhr = new XMLHttpRequest(); 
            elseif(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 go(){ 
            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){ 
            leselect = xhr.responseText; 
            // On se sert de innerHTML pour rajouter les options a la liste 
            document.getElementById('prod').innerHTML = leselect; 
            } 
            } 
            
            // Ici on va voir comment faire du post 
            xhr.open("POST","prod.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 four 
            sel = document.getElementById('four'); 
            idfour = sel.options[sel.selectedIndex].value; 
            xhr.send("idfour="+idfour); 
            
            } 
            </script> 
            
            
            <style> 
            <!-- 
            td{font-family:verdana,sans-serif; font-size:8pt;color:#333333}; 
            body{font-family:verdana,sans-serif; font-size:11pt;color:#333333;font-weight:bold}; 
            //--> 
            </style> 
            
            </head> 
            <body> 
            <center> 
            <p>quel produits et quelle clientes voulez vous choisir?</p> 
            
            <form> 
            <div> 
            <table> 
            <tr><td> 
            <label>Fournisseurs :</label> 
            </td> 
            <td> 
            
            <?php 
            mysql_connect("localhost","root",""); 
                                    mysql_select_db("com"); 
            $res = mysql_query("SELECT * FROM fournisseur ORDER BY nomfour"); 
            echo "<select name=\'four\' id=\'four\' onchange=\'go()\'> 
            <option value=\'-1\'>Aucun</option>"; 
            while($row = mysql_fetch_assoc($res)){ 
            echo "<option value=".$row[idfour].">".$row[nomfour]."</option>"; 
            } 
            echo "</select>"; 
            ?> 
            </td></tr> 
            <tr><td> 
            <label>Produits :</label> 
            <div id='prod' style='display:inline'> 
            </td> 
            <td> 
            <?php 
            mysql_connect("localhost","root",""); 
                                    mysql_select_db("com"); 
            $res = mysql_query("SELECT Distinct nomproduit FROM Produits "); 
              echo"<select name=\"prod\" id=\"Produits\">"; 
              echo"<option value='-1'>Choisir un produit</option>"; 
            while($row = mysql_fetch_assoc($res)){ 
            echo "<option value=".$row[nomproduit].">".$row[nomproduit]."</option>"; 
            } 
            echo "</select> "; 
            ?> 
            </select> 
            </td> 
            </tr> 
                                <tr><td> 
            <label>Localisation :</label> 
            <td> 
            
            <?php 
            mysql_connect("localhost","root",""); 
                                    mysql_select_db("com"); 
            $res = mysql_query("SELECT Distinct Localisation FROM client "); 
              echo"<select name=\"Nom\" id=\"client\">"; 
            while($row = mysql_fetch_assoc($res)){ 
            echo "<option value=".$row[Localisation].">".$row[Localisation]."</option>"; 
            } 
            echo "</select> "; 
            ?> 
            </tr> 
            <tr><td> 
            <label>Client :</label> 
            <td> 
            
            <?php 
            mysql_connect("localhost","root",""); 
                                    mysql_select_db("com"); 
            $res = mysql_query("SELECT Distinct SortClt FROM client "); 
                 echo"<select name=\"Nom\" id=\"client\">"; 
            while($row = mysql_fetch_assoc($res)){ 
            echo "<option value=".$row[SortClt].">".$row[SortClt]."</option>"; 
            } 
            echo "</select> "; 
            ?> 
            </tr> 
            </table> 
            </div> 
            </form> 
            </body>
            
            • Partager sur Facebook
            • Partager sur Twitter
              3 mars 2009 à 15:21:37

              Je vois toujours pas où est la déclaration de leselect, ligne 34... ?
              • Partager sur Facebook
              • Partager sur Twitter
                3 mars 2009 à 16:19:00

                si nesscaire que je declare leselect
                je suis debutante tu peut m'aider
                • Partager sur Facebook
                • Partager sur Twitter
                  3 mars 2009 à 16:31:29

                  Oh miiince, je suis désolé, depuis le début je suis trop à côté de la plaque en fait..... -_-'

                  Euh... non, c'est pas la peine de déclarer leselect. ^^

                  Je viens donc de regarder de plus près.

                  Tu demandes à ce que le résultat de la requête soit inséré dans l'élément d'id "prod"... mais je crois que tu n'as pas d'élément d'id "prod".

                  Ajoutes-en un pour voir. ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  liaison de listes deroulantes

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown