IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Json_encode($data_com) => AJAX


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    151
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Par d�faut [AJAX] Json_encode($data_com) => AJAX
    Bonjour

    J'ai un code en
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $conn_string = "host=*******";
    $dbconn = pg_connect($conn_string);
    $result = pg_query($dbconn, "SELECT insee_comm, insee_depa, nom_commun, ordonnee_c, abscisse_c FROM commune_n");
    echo "var data_com;";
    $data_com = array();
     
    while ($row = pg_fetch_row($result)) {
        $data_com[] = $row[0].";'".$row[1]."';'".$row[2]."';'".$row[3]."|".$row[4]."'";
    }
    echo 'data_com='.json_encode($data_com).';';
    ?>
    Je dois retourne le r�sultat via ajax. Le nombre de ligne de la requ�te est tr�s important, je vais donc pass� un argument via ajax pour filtrer. Le probl�me est que je ne vois pas comment retourner le r�sultat contenu ici dans Json_encode($data_com).

    Merci d'avance pour votre aire

  2. #2
    R�dacteur
    Avatar de marcha
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2003
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 571
    Par d�faut
    Ce que tu renvoie semble correct, mais tout d�pends comment tu g�re �a
    cot� ajax, tu as un bout de code javascript � donner ?

  3. #3
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    151
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Par d�faut
    J'ai un coll�gue qui m'a trouv� la solution. Du cot� php je renvoi echo json_encode($data_com);

    Du cot� Html cela donne ceci.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function lstDeptListener () {
     
            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){
                    data_com = eval(xhr.responseText);
                        })
                    }
            }
            // Ici on va voir comment faire du post
            xhr.open("POST","searchgeo.php",true);
            // ne pas oublier ça pour le post
            xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')                                                                                                                               ;
            var lstDept = Ext.getCmp('lst_Dept');
            var lstDeptResult = lstDept.getValue();
            xhr.send("lstDeptResult="+lstDeptResult);
    };

    Il me reste plus qu'a initialiser ma zone de liste.

    Si vous avez des remarques je suis preneur
    Merci d'avance Tio

  4. #4
    Membre exp�riment�
    Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    D�tails du profil
    Informations personnelles :
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Par d�faut
    Bonjour,

    Ton code m'a l'air tr�s bien, toutefois, tu aura peut �tre des probl�mes avec ton objet ( data_com ).

    Personnellement, j'ai �t� oblig� de l'�crire de cette fa�on afin de r�cup�rer un array correct. Mais j'ai utilis� la classe de Zend pour l'encodage, donc tu n'aura peut �tre pas de probl�me

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var data_com = eval( '(' + _xmlHttp.responseText + ')' );
    Bonne chance.

  5. #5
    Membre confirm�
    Inscrit en
    Juin 2004
    Messages
    151
    D�tails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Par d�faut
    Merci en effet il me manquait cette notion.

    Voila ce que cela donne au final
    cot� php
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $conn_string = "host=localhost port=5432 dbname=WEBDATA_NORM user=postgres password=postgres";
    $dbconn = pg_connect($conn_string);
    $lstDeptResult = $_POST['lstDeptResult'];
    $result = pg_query($dbconn, "SELECT insee_comm, insee_depa, nom_commun, ordonnee_c || '|' || abscisse_c AS coordonnees FROM commune_n WHERE insee_depa = ".$lstDeptResult);
    $data_com = array();
    while ($row = pg_fetch_array($result)) {$data_com[] = $row;}
    echo json_encode($data_com);
    ?>
    cot� HTML
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function lstDeptListener () {
            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){
                    //Ext.getCmp('lst_Com').store.data = eval(xhr.responseText);
                    Ext.getCmp('lst_Com').store.loadData(eval('('+xhr.responseText+')'));}
            }
            // Ici on va voir comment faire du post
            xhr.open("POST","searchgeo.php",true);
            // ne pas oublier ça pour le post
            xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
            var lstDept = Ext.getCmp('lst_Dept');
            var lstDeptResult = lstDept.getValue();
            xhr.send("lstDeptResult="+lstDeptResult);
    };
    Merci de ton aide

    Cordialement

    Sujet R�solu

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [STRUTS][AJAX]Quel framework AJAX avec Struts
    Par woodwai dans le forum Struts 1
    R�ponses: 24
    Dernier message: 12/03/2009, 16h19
  2. [AJAX] PHP avec ajax(makerequest)
    Par Benjiijneb dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 11/04/2006, 16h53
  3. [AJAX] Modifier avec AJAX une image g�n�r�e avec GD
    Par thsantac dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 27/03/2006, 19h34
  4. [AJAX] texte r�ponse Ajax dans un conteneur div
    Par grinder59 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 12/02/2006, 18h07
  5. [AJAX] Autocompl�tion + m�thode Ajax
    Par seblo_scoqi dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 26/10/2005, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo