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

AJAX Discussion :

[AJAX] Ajax, array, php, renvoi de valeur


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Par défaut [AJAX] Ajax, array, php, renvoi de valeur
    Bonjour à tous !

    Voilà mon problème :

    Je voudrais créé un filtre avec un input text dans un select, pour cela j'ai utilisé l'ajax qui fait une requete sur mon autre page php en récuperant tous les elements avec un début comme celui de mon filtre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    	if(isset($_GET["firme"])){
    		mysql_connect("localhost","root","");
    		mysql_select_db("essai");
    		$res = mysql_query("SELECT * FROM clients WHERE CT_CODEPOSTAL LIKE '18%' ");
    		$i=0;
    		while($row = mysql_fetch_array($res)){
    			$retour[$i]= "".$row['CT_INTITULE'].", ".$row['CT_CONTACT']."";
    			$i++;
    		}
    		echo $retour;
    	}
    ?>
    Le problème c'est que je sais pas comment renvoyer mon tableau ...


    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
    20
    21
    function changecode1(callback){
    		var xhr = getXMLHttpRequest();
     
    		xhr.onreadystatechange = function() {
    			if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    				callback(xhr.responseText);
    			}
    		};
    				var firme = encodeURIComponent(document.second.dep1.value);
     
    		xhr.open("GET", "getuser.php?firme="+firme, true);
    		xhr.send(null);
    	}
     
     
    		function changeinputvalue1(sData){
    			while(sData){
    				var length = document.second.firme1.length;
    				document.second.firme1[length] = new Option(sData);
    			}
    		}
    J'utilise ça pour rajouter des options.

    Mon appel : changecode1(changeinputvalue1);

    Pour le moment, ça me renvoit une tripoté de Array (pour les options du select) et si je met echo $retour[$i-1]; j'ai une seule réponse (logique hein mais j'ai une réponse quand même donc SQL ok :p )

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Bonjour,

    Puisque SQL ok, y'a plus qu'à faire la mise en forme

    En ce qui concerne le format pour renvoyer ta liste de valeurs il n'y a pas de solution "toute faite", c'est un peu à toi de voir

    Personnellement j'opterai pour renvoyer un morceau de html qui contient les options du select à mettre à jour (voire même le select complet)
    Cela permet de limiter la quantité de javascript à mettre en œuvre pour la mise à jour lors de la réponse.

    devyan

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par devyan Voir le message
    Personnellement j'opterai pour renvoyer un morceau de html qui contient les options du select à mettre à jour (voire même le select complet)
    Cela permet de limiter la quantité de javascript à mettre en œuvre pour la mise à jour lors de la réponse.
    Personnellement j'opterais pour renvoyer une liste de couple "value + text" en utilisant 2 séparateurs prédéfinis (qu'on ne risque de retrouver ni dans les "value" ni dans les "text") ou en optant pour la solution JSon.
    Cela permet de limiter la taille de la réponse en ne renvoyant que les données nécessaires.

    Il sera ensuite très facile d'intégrer tout ça via Javascript dans le select ciblé ...

    A+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Par défaut
    EDIT : message en attente :p

    Je test ça et je vous dit, merci pour vos réponses

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,Personnellement j'opterais pour renvoyer une liste de couple "value + text" en utilisant 2 séparateurs prédéfinis (qu'on ne risque de retrouver ni dans les "value" ni dans les "text") ou en optant pour la solution JSon.
    Cela permet de limiter la taille de la réponse en ne renvoyant que les données nécessaires.

    Il sera ensuite très facile d'intégrer tout ça via Javascript dans le select ciblé ...

    A+

    C'est vrai que c'est plus "générique", par contre si tu veux réutiliser la partie serveur pour construire un formulaire pré-rempli tu devras faire le "travail" 2 fois (une fois côté serveur, l'autre pour le client en JavaScript)

Discussions similaires

  1. [AJAX] ajax et script php
    Par lekonquerant dans le forum AJAX
    Réponses: 3
    Dernier message: 09/09/2009, 18h19
  2. [AJAX] Ajax encodeuri et php utf8_decode
    Par senacle dans le forum AJAX
    Réponses: 7
    Dernier message: 17/03/2009, 13h13
  3. [AJAX] AJAX - Javascript - array
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/05/2008, 17h16
  4. [AJAX] Ajax et requete php
    Par absurdsystem dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/04/2008, 16h46
  5. Réponses: 2
    Dernier message: 22/08/2007, 13h53

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