Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/09/2011, 13h45   #1
Invité régulier
 
Inscription : septembre 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 42
Points : 7
Points : 7
Par défaut 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 :
1
2
3
4
5
6
7
 
 
$("input#entrep_nom").autocomplete({
			source: "services/autocomplete.class.php",
 
 
});
autocomplete.class.php

Code :
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 :
<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
ambe_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h14   #2
Modérateur
 
Avatar de Golgotha
 
Homme cédric
Développeur informatique
Inscription : août 2007
Messages : 732
Détails du profil
Informations personnelles :
Nom : Homme cédric
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 732
Points : 1 562
Points : 1 562
Envoyer un message via Skype™ à Golgotha
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 ?
__________________
modérateur webmasters - développements web & php
faq jQuery - règles du forum - faqs web
mon espace perso
Venez participez au deuxième defi Web !
Golgotha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h38   #3
Invité régulier
 
Inscription : septembre 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 42
Points : 7
Points : 7
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"}]
ambe_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h48   #4
Modérateur
 
Avatar de Golgotha
 
Homme cédric
Développeur informatique
Inscription : août 2007
Messages : 732
Détails du profil
Informations personnelles :
Nom : Homme cédric
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 732
Points : 1 562
Points : 1 562
Envoyer un message via Skype™ à Golgotha
Essaye sans la virgule à la fin, et juste avec l'id pour voir si c'est pas le filtre qui merdouille :

Code :
1
2
3
$("#entrep_nom").autocomplete({
			source: "services/autocomplete.class.php"
});
Si toujours rien, essaye un test unitaire :

Code :
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>
__________________
modérateur webmasters - développements web & php
faq jQuery - règles du forum - faqs web
mon espace perso
Venez participez au deuxième defi Web !
Golgotha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 15h35   #5
Invité régulier
 
Inscription : septembre 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 42
Points : 7
Points : 7
Effectivement avec le test unitaire ça passe nickel.
Alors d'ou peut venir le problème?
ambe_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 15h54   #6
Modérateur
 
Avatar de Golgotha
 
Homme cédric
Développeur informatique
Inscription : août 2007
Messages : 732
Détails du profil
Informations personnelles :
Nom : Homme cédric
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 732
Points : 1 562
Points : 1 562
Envoyer un message via Skype™ à Golgotha
Dans ton json, a mon avis il doit y avoir des noms de clé spécifique :

label et value

Code :
[{"label":"java", "value":1}, {"label":"python", "value":2}]
Peux tu faire le test ?
__________________
modérateur webmasters - développements web & php
faq jQuery - règles du forum - faqs web
mon espace perso
Venez participez au deuxième defi Web !
Golgotha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 16h02   #7
Invité régulier
 
Inscription : septembre 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 42
Points : 7
Points : 7
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?
ambe_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 16h11   #8
Modérateur
 
Avatar de Golgotha
 
Homme cédric
Développeur informatique
Inscription : août 2007
Messages : 732
Détails du profil
Informations personnelles :
Nom : Homme cédric
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 732
Points : 1 562
Points : 1 562
Envoyer un message via Skype™ à Golgotha
Non, en fait il faut que tu es ces clés dans ta chaine json pour que autocomplete puisse fonctionné.

Code :
[{"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.
__________________
modérateur webmasters - développements web & php
faq jQuery - règles du forum - faqs web
mon espace perso
Venez participez au deuxième defi Web !
Golgotha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 16h36   #9
Invité régulier
 
Inscription : septembre 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 42
Points : 7
Points : 7
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
ambe_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h07.


 
 
 
 
Partenaires

Hébergement Web