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] Recuperer un tableau encodé avec json


Sujet :

AJAX

  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Par défaut [AJAX] Recuperer un tableau encodé avec json
    Bonjour,
    J'utilise un champ de texte et autocomplete (jquery) pour lister des suggestions à la saisie. Je recupere les donnees d'une page php d'où je retourne un tableau encodé json. Mais rien ne s'affiche. Je coince depuis plusieurs jours et je ne vois pas l'erreur.
    //Dans le jquery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    $("input#entrep_nom").autocomplete({
    			source: "services/autocomplete.class.php",
     
     
    });
    autocomplete.class.php

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <?php 
    /* Connection vars here for example only. Consider a more secure method. */
    $dbhost = '(local)';
    $dbuser = 'sa';
    $dbpass = 'sa';
    $dbname = 'bdtest';
     
    $conn = mssql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mssql');
    mssql_select_db($dbname);
     
    $return_arr = array();
     
    /* If connection to database, run sql statement. */
    if ($conn)
    {
            $rq="SELECT * FROM Dossiers WHERE Dossiers.entrep_cc LIKE '" .$_GET['term']. "%'";
            $fetch = mssql_query($rq); 
            /* Retrieve and store in array the results of the query.*/
            while ($row = mssql_fetch_array($fetch,MSSQL_ASSOC)) {
                    $row_array['entrep_cc'] = $row['entrep_cc'];
                    $row_array['entrep_nom'] = $row['entrep_nom'];
     
     
            array_push($return_arr,$row_array);
        }
    }
     
    /* Free connection resources. */
    mssql_close($conn);
    //print_r($return_arr);
    /* Toss back results as json encoded array. */
    //echo ('["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"]');
    echo json_encode($return_arr);
    ?>
    html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="entrep_nom" type="text" class="required" id="entrep_nom" size="40"  minlength="2"/>
    Je vois tout juste que la div qui reçoit les resultats apparait mais est vide

    Si vous avez une idée, je suis preneur

  2. #2
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    As tu des détails du problème dans ta console javascript ? Aucune erreurs ?

    As tu testé les deux parties indépendamment ?

    - Ta page php seule ?
    - La fonction autocomplete avec un bouchon ?
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Par défaut
    Effectivement. J'ai testé la page php seule et comme réponse j'ai un tableau encodé au format json

    [{"entrep_cc":"0XA0474J","entrep_nom":"SOCIETE DE DISTRIBUTION"},{"entrep_cc":"01BV215U","entrep_nom":"BROSSAGES ET SOUDURES SOUS MARINES"}]

  4. #4
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    Essaye sans la virgule à la fin, et juste avec l'id pour voir si c'est pas le filtre qui merdouille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $("#entrep_nom").autocomplete({
    			source: "services/autocomplete.class.php"
    });
    Si toujours rien, essaye un test unitaire :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    	<script>
    	$(function() {
    		var availableTags = [
    			"ActionScript",
    			"AppleScript",
    			"Asp",
    			"BASIC",
    			"C",
    			"C++",
    			"Clojure",
    			"COBOL",
    			"ColdFusion",
    			"Erlang",
    			"Fortran",
    			"Groovy",
    			"Haskell",
    			"Java",
    			"JavaScript",
    			"Lisp",
    			"Perl",
    			"PHP",
    			"Python",
    			"Ruby",
    			"Scala",
    			"Scheme"
    		];
    		$( "#entrep_nom" ).autocomplete({
    			source: availableTags
    		});
    	});
    	</script>
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Par défaut
    Effectivement avec le test unitaire ça passe nickel.
    Alors d'ou peut venir le problème?

  6. #6
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    Dans ton json, a mon avis il doit y avoir des noms de clé spécifique :

    label et value

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"label":"java", "value":1}, {"label":"python", "value":2}]
    Peux tu faire le test ?
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  7. #7
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Par défaut
    En effet quand j'utilise cette chaine json j'arrive à recuperer label et value. C'est peut être une erreur dans le json qui provoque cela?

  8. #8
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    Non, en fait il faut que tu es ces clés dans ta chaine json pour que autocomplete puisse fonctionné.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{"entrep_cc":"0XA0474J","entrep_nom":"SOCIETE DE DISTRIBUTION"},{"entrep_cc":"01BV215U","entrep_nom":"BROSSAGES ET SOUDURES SOUS MARINES"}]
    Dans ta chaine json, les clés sont : entrep_cc et entrep_nom

    Il faut que tu change pour que tu es les bonnes clés, label et value.

    ça devrais marché ensuite.
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  9. #9
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Par défaut
    En tou cas avec label et value comme clé tout s'affiche correctement
    Je comprends qu'il faut toujours utiliser ces clés.
    Merci pour le reste je crois pouvoir me debrouiller
    Merci encore
    Peace 'n love

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/01/2018, 16h08
  2. [AJAX] Encodage avec JSON
    Par Norin dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/07/2008, 22h02
  3. [AJAX] Recuperer la valeur d'un champs d'un tableau AJAX
    Par Greggggggg dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 07/06/2008, 18h41
  4. [AJAX] Compléter un tableau avec Ajax
    Par nic2t dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 07/02/2008, 16h35
  5. [VB6] recuperer des valeurs ds un tableau html avec vb!!
    Par leo13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/12/2004, 13h02

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