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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

+ 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