begin process at 2012 05 29 22:59:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

recuperation de données


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

recuperation de données

mercredi 2 mai 2007 à 10:58:52 | recuperation de données

val_micro

Bonjour à tous,

J'ai déjà posé se poste sur le forum "ajax" mais on m'a dit que s'était plus un problème de javascript alors je le repose ici, j'espère que quelqu'un pourra m'aide.

Je débute actuellement en ajax et je me heurte à quelque problème. Je cherche grace à l'ajax à récupérer les donners de deux menu déroulant qui sont dans un formulaire pour récupérer un 3 ème résultat en fonction des deux choix précedent.
En faite de le menu deroulant 1 je choisis la gare de mon arriver,
dans le menu déroulant 2 je choisis la station où je vais,
en fonction des deux id récupérer je selectionne dans ma base de donner le prix correspondant.

Jusque la c'est simple et fesable en php MAIS je dois faire tout sa sens changer de page ni la rafréchir d'ou l'utilité d'Ajax.
Je déclanche alors l'évenement lorsque l'on clic sur le menu déroulant 1 ou 2.
J'arrive à récuperer les résultat de chaque menu deroulant mais pas à dire :
"si le menu déroulant1 à été selectionné je garde l'id1 trouver en memoir (id_arriver), puis lorsque je selectionne le menu déroulant2 je récupère l'id2 (id_destination) et je le compare à id_arriver pour resortir le prix.

Je suis pas sur d'avoir su expliquer correctement le problème mais jespère que si. Voici mon code il y a 2 fichier:

test2.php

"<html>
    <head>
        <title>Tutoriel Ajax (XHTML + JavaScript + XML)</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 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('div_prix').innerHTML = leselect;
                    }
                }

                // Ici on va voir comment faire du post
                xhr.open("POST","ajax.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
                sel = document.getElementById('arriver');
                id_arriver = sel.options[sel.selectedIndex].value;
                xhr.send("id_arriver="+id_arriver);
            }
           
            function go2(){
                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('div_prix2').innerHTML = leselect;
                    }
                }

                // Ici on va voir comment faire du post
                xhr.open("POST","ajax.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
                sel = document.getElementById('destination');
                id_destination = sel.options[sel.selectedIndex].value;
                xhr.send("id_destination="+id_destination);
            }
        </script>
    </head>

    <body>
    <?php

    $conbas=mysql_connect("localhost","root","");
    mysql_select_db("abcis",$conbas);
?>

        <form>
        <fieldset style="width: 500px">
                <table>
                <tr>
          <td>Gare/Aéroport d?arrivée </td>
          <td>
                   
            <select name="arriver" id='arriver' onclick='go()'>
            <option value='0'>---------- Choix de votre arriver -----------------</option>
               <?php
                $res = mysql_query("SELECT nom_arriver, id_arriver FROM arriver");
                        while($row = mysql_fetch_assoc($res)){
                            echo "<option value='".$row["id_arriver"]."'>".$row["nom_arriver"]."</option>";
                        }
            ?>
            </select>          </td>
          </tr>
          </table>
               
                <!--<label>Prix</label>
                <div id='div_prix' style='display:inline'></div>-->
               
               
               
                <table>
                <tr>
          <td>Gare/Aéroport destination </td>
          <td>
                   
            <select name="destination" id='destination' onclick='go2()'>
            <option value='0'>---------- Choix de votre arriver -----------------</option>
               <?php
                $res = mysql_query("SELECT nom_destination, id_destination FROM destination");
                        while($row = mysql_fetch_assoc($res)){
                            echo "<option value='".$row["id_destination"]."'>".$row["nom_destination"]."</option>";
                        }
            ?>
            </select>          </td>
          </tr>
          </table>
               
                <label>Prix</label>
                <div id='div_prix2' style='display:inline'></div>
               
            </fieldset>
        </form>
    </body>
</html>
"

ajax.php
"<?php
   
    if(isset($_POST["id_arriver"])){
   
        $conbas=mysql_connect("localhost","root","");
        mysql_select_db("abcis",$conbas);
       
        $lien_id_arriver = ($_POST["id_arriver"]);
       
        }
       
           
        else {    if(isset($_POST["id_destination"])||isset($_POST["id_arriver"])){
   
            $conbas=mysql_connect("localhost","root","");
            mysql_select_db("abcis",$conbas);
       
            $lien_id_destination = ($_POST["id_destination"]);
       
            import_request_variables ("g", "lien_");
       
       
       
                    $sql = "SELECT id_prix, recup_id_destination, nom_prix, recup_id_arriver FROM prix WHERE recup_id_destination='$lien_id_destination' AND recup_id_arriver='$lien_id_arriver'";    
                                   
                    $res=mysql_query($sql,$conbas);
                    $num=mysql_num_rows($res);
                    $enr = mysql_fetch_row($res);
                   
                    echo"<input type='text' name='total' size='30'  class='total' value=".$enr[2].">";
                   
                        }
            }
   
?>   
"

Voila ou j'en suis, j'espère que quelqu'un pourra m'aider. Merci à tous
lundi 23 juillet 2007 à 15:39:36 | Re : recuperation de données

pysco68

Je suis pas sur d"'avoir tout à fait compris ce que tu voulais dire, mais si ton problème est d'entre sauvegerder un resultat, ben créé toi un <div> invisible avec une ID unique et écris le résultat dedans... et puis dès que tu à ton deuxiemme résultat tu relis avec innerHTML() le premier et tu les renvois là ou tu veux :)

J'espère que ma réponse peut (peut-être) t'aider

Ciao!


Cette discussion est classée dans : mysql, id, destination, xhr, arriver


Répondre à ce message

Sujets en rapport avec ce message

recuperation données AJAX [ par corsamobile ] Bonjour à tous,J'ai créé une liste deroulante liée avec trois listes deroulantes qui vont chercher leurs données dans une BDD.En selectionnant une ref probleme liste liée et select distinct [ par anthonydb ] Bonjour a tous voilà je suis nouveau sur le forum et j'ai un leger souci au niveau du développement de mon site web. C'est un site de voyage dans lequ XMLHttpRequest probleme [ par hlimaiem ] Limaiem heykelBonjour, j'ai un page php qui contient un tableau remplis depuis une base de donnees. Ma base et rempli a partir d'un programme en java document.getElemetById() has no properties [ par sebaaas ] Bonjour à vous tous,Tout d'abord je tiens à m'excuser car je suis débutant mais j'essaye de comprendre tout doucement.J'ai donc copié un scripte, et j visibilté liste déroulante sélection [ par vinz78 ] salut j'explique en gros j'ai une liste déroulante qui excuté une requete pour voir les nom de ma table laboratoire. dans cette table il y a aussi un Vérification de doublons [ par eddie5150 ] Bonjour à tous,je viens de me lancer dans AJAX, mais je ne comprends pas encore tout très bien,aussi j'ai essayé d'effectuer une vérification automati fonction onchange pr listes deroulantes liees [ par kelkune ] g deu liste deroulante don lune se rempli a partir de lautre il me faudrai la fonction onchange a placer dan la 1ere liste deroulante pr remplir la de aide à la saisie avec un popup [ par lucsa ] bonjour, je me met au javascript et j'ai quelque soucis.je souhaite afficher un popup si l'on click dans champ de saisie (input type=text). ce popoup aide à la saisie avec un popup [ par lucsa ] bonjour, je me met au javascript et j'ai quelque soucis.je souhaite afficher un popup si l'on click dans champ de saisie (input type=text). ce popoup pb XMLHTTPRequest [ par LaTatadu91 ] Bonjour a tous, voila je cherche a changer les valeurs de plusieurs input situés ds un tableau sans recharger la page sur un onchange de balise : ap


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,671 sec (3)

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