Renvoyer les donnees de la requete sous le format JSON

Résolu
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 - 3 juil. 2014 à 15:36
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 - 4 juil. 2014 à 09:54
Bonjour,
Voila mon problème je souhaite utiliser un plugin JQuery pour l'autocomplete de mes select mes apparemment il faut que les données soit renvoyer sous format JSON pour que le plugin marche.

Voila mon code:
<?php
 include('connexion.php');
 
 $sql = "SELECT  labtbl_serial_numbers.INJECTOR_ID,
        labtbl_serial_numbers.INJECTOR_NUMBER,
     labtbl_serial_numbers.Version
   FROM labtbl_serial_numbers 
   ORDER BY labtbl_serial_numbers.INJECTOR_NUMBER;";
 $result = mysql_query($sql)or die("Request error");
     while ($row=mysql_fetch_assoc($result))
    {
     echo "<option value=\"".$row['INJECTOR_ID']."\">".$row['INJECTOR_NUMBER']."".'_V.'."".$row['Version']."</option>\n"; 
    }
 ?>

Comment je peut faire pour que le résultat soit sous le format JSON?
J'ai essayer comme ceci mais sa ne marche pas>
<?php
 include('connexion.php');
 
 $sql = "SELECT  labtbl_serial_numbers.INJECTOR_ID,
        labtbl_serial_numbers.INJECTOR_NUMBER,
     labtbl_serial_numbers.Version
   FROM labtbl_serial_numbers 
   ORDER BY labtbl_serial_numbers.INJECTOR_NUMBER;";
 $result = mysql_query($sql)or die("Request error");
   echo "["
     while ($row=mysql_fetch_assoc($result))
    {
     echo "{value : ".$row['INJECTOR_ID'].",text : ".$row['INJECTOR_NUMBER']."".'_V.'."".$row['Version']."},"; 
    }
    echo "]"
 ?>


Merci

Merci et que le café soit avec vous.

1 réponse

jordane45 Messages postés 38238 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 septembre 2024 345
3 juil. 2014 à 16:22
Bonjour,

Normalement tu ne renvoies pas les balises OPTION ...

Tu as juste à renvoyer le tableau du résultat.

 $result = mysql_query($sql)or die("Request error");
 return jston_encode($result); 



2
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
3 juil. 2014 à 16:39
Bonjour,
J'ai une erreur avec json_encode
json_encode():type is unsupported, encoded as null

Es ce que je doit modifier $result ??
Je ne comprend pas pourquoi je n'arrive pas a utiliser les plugin: jquery.sexy et dhtmlx
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
3 juil. 2014 à 16:51
Voila comment j'ai modifier mon code maintenant je n'ai plus de message d'erreur mais mon select n'affiche pas les données.
<?php
	include('connexion.php');
	
	$sql = "SELECT  labtbl_serial_numbers.INJECTOR_ID,
				    labtbl_serial_numbers.INJECTOR_NUMBER,
					labtbl_serial_numbers.Version
			FROM labtbl_serial_numbers 
			ORDER BY labtbl_serial_numbers.INJECTOR_NUMBER;";
	$result = mysql_query($sql)or die("Request error");
			  while ($row=mysql_fetch_assoc($result))
				{
					$encode[]=$row;
				}
				echo json_encode($encode);
	?>


Comment je peut faire ?.
0
jordane45 Messages postés 38238 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 septembre 2024 345
3 juil. 2014 à 18:35
désolé...
c'est bien json_encode qu'il fallait utiliser...

pour pouvoir t'aider plus...
il faudrait peut être nous montrer ce que tu as comme code Javascript ... non ?
Comment tu utilises les données retournées par ta pages php ??

Autre point... l' Autocomplete... c'est en général pour des INPUT pas des select...
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
4 juil. 2014 à 09:33
Bonjour,
Voila le reste du code du coter de la page html
<html>
<head>
	<title>autocomplete</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<link rel="stylesheet" type="text/css" href="../../../codebase/dhtmlxcombo.css"/>
	<script src="../../../codebase/dhtmlxcombo.js"></script>
	<style>
		 td.descr_td {
		 	 padding-right: 50px;
		 	 vertical-align: top;
		 }
	</style>
	<script>
		var myCombo;
		function doOnLoad() {
			myCombo = new dhtmlXCombo("combo_zone", "combo", null, "image");
			myCombo.setImagePath("../common/flags/");
			myCombo.load("../common/data_countries.json");
			myCombo.enableFilteringMode(true);
		}
	</script>

</head>
<body onload="doOnLoad();">
	<h3>autocomplete</h3>
	<div id="combo_zone" style="width:230px;"></div>

</body>
</html>


Et oui ce n'est pas un select mes bien un input qui prend l'apparence d'un select et son fonctionnement grâce a un plugin jquery (dhtmlxCombo_v403_std)
Si vous savez comment il fonctionne sa m'aiderait beaucoup.
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
4 juil. 2014 à 09:54
Bonjour,
voila les dernières modification a mon code:
<?php
	include('connexion.php');
	
	$sql = "SELECT  labtbl_serial_numbers.INJECTOR_ID,
				    labtbl_serial_numbers.INJECTOR_NUMBER,
					labtbl_serial_numbers.Version
			FROM labtbl_serial_numbers 
			ORDER BY labtbl_serial_numbers.INJECTOR_NUMBER;";
	$result = mysql_query($sql)or die("Request error");

			  while ($row=mysql_fetch_assoc($result))
				{
					$encode["options"][]=$row;
				}
				echo json_encode($encode);

	?>


Maintenant firebug me mes bien l'onglet json.
Mon input réagit mes il n'affiche aucune valeur et lorsque j'en sélectionne une il mes comme valeur indéfini.
Merci je vais ouvrir une question dans le forum JavaScript pour se problème et clore celle-ci.
0
Rejoignez-nous