Menu deroulant dynamique ajax

ns_deux Messages postés 10 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 29 août 2006 - 28 août 2006 à 16:29
kfarmel24 Messages postés 2 Date d'inscription lundi 27 juillet 2009 Statut Membre Dernière intervention 3 janvier 2012 - 3 sept. 2010 à 17:46
Bonjour,

Je cherche à faire un menu deroulant dynamique qui va interroger ma
base mysql en temps réel. J'aimerais que, lorsque je cliques sur mon
menu, il va recupérer les donnees de ma base et ce sans rechargement de
ma page php.

Je sais qu'il existe de trucs avec Ajax mais je n'arrive pas à le faire fonctionner.

Quelqu'un a t-il une bidouille?

Merci d'avance.

9 réponses

ns_deux Messages postés 10 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 29 août 2006 1
29 août 2006 à 16:51
OK donc j'ai fait ce que tu m'as dit. J'ai allégé mon code afin de n'avoir en ligne que ce qui deconne et ca donne cà :

----------------------------------base_saisie_materiel.php----------------------------
<script type="text/javascript">
function getElement(id)
{
    var Elem;
   
    if(document.getElementById)
    {
        if (typeof document.getElementById(id) == "object")
            Elem = document.getElementById(id);
                else
                    Elem = void(0);
    }
    else if(document.all)
    {
        if (typeof document.all[id] == "object")
            Elem = document.all[id];
                else
                    Elem = void(0);
    }
    else if(document.layers)
    {
        if (typeof document[id] == "object")
            Elem = document[id];
                else
                    Elem = void(0);
    }
    else Elem = void(0);
   
    return Elem;
}

var xhr = null;

function getXhr()
{
    if (window.XMLHttpRequest)
    {
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)  // if IE
    {
        var ieversions = ['Msxml2.XMLHTTP',
                          'Microsoft.XMLHTTP',
                          'Msxml2.XMLHTTP.5.0',
                          'Msxml2.XMLHTTP.4.0',
                          'Msxml2.XMLHTTP.3.0'
                         ];
       
        for(var i=0; !xhr && i

      O.A.M : ,
            

       <?php
        echo "<select name='oam' id='oam' style='width:240' >";
    echo "<option value=''></option>";
    $req10 = 'SELECT DISTINCT oam FROM oam ';
    $res10 = mysql_query($req10,$connect) or die ('Erreur : '.mysql_error() );
    while($row10 = mysql_fetch_assoc($res10)){
    echo "<option value='".$row10['oam']."'>".$row10['oam']."</option>";
    }
    echo "</select>";
        ?>     
   

     ,
     
   
    ----

   

-------------------------------------requete_oam.php--------------------------------
 <?php
      
        echo "<select name='oam' id='oam' style='width:240'>\n";
            echo "<option value=''></option>\n";
        require("connect_atelier.php");
        $req = 'SELECT DISTINCT oam FROM oam ';  
               $res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() );
               while($row = mysql_fetch_assoc($res)){
                echo "<option value='".$row['oam']."'>".$row['oam']."</option>";
        }
            echo"</select>"; 
        //echo 'document.getElementById("divoam").innerHTML = '.$str.';';
   
?>
-------------------------------------------------------------------------------------
Alors en ce qui concerne les resultat :
1- ma requete requete_oam.php fonctionne bien car elle me donne le resultat de ma requete.
2- Lorsque je clique sur le menu deroulant de ma page base_saisie_materiel.php, j'ai bien mon resultat mais il s'efface aussitot des que je retire le clic de souris
3- Avec  alert('Status: ' + xhr.status ); j'ai la meme chose avec le code erreur 200.
Voilà pour les resultat.
Qu'en penses tu?
1