PHP5 / Array /Json
Résolu
ZMEX
Messages postés
51
Statut
Membre
-
Defouille Messages postés 404 Statut Membre -
Defouille Messages postés 404 Statut Membre -
Bonjour,
J'ai un petit souci.
Je veux en PHP5 récupérer un contenu d'une requete en json.
Mon code est :
tout cela pour construire un résultat en json de la sorte :
Quand je la teste, j'ai cette erreur :
{"clients":[{
Warning: Illegal offset type in C:\wamp\www\ecotarif\test_req_json.php on line 39
"NOM":"",
Warning: Illegal offset type in C:\wamp\www\ecotarif\test_req_json.php on line 39
"NOM":""},{
Warning: Illegal offset type in C:\wamp\www\ecotarif\test_req_json.php on line 39
"NOM":"",
Warning: Illegal offset type in C:\wamp\www\ecotarif\test_req_json.php on line 39
"NOM":""}]}
s'il vous plait, je n'arrive pas à trouver comment le faire.
merci d'avance.
J'ai un petit souci.
Je veux en PHP5 récupérer un contenu d'une requete en json.
Mon code est :
<?php
include ("bd/ConnectBD.inc.php");
$idcom = connex_objet("ecoconsobd","ConnectBD");
//Création et envoi de la requête SQL
$requeteSQL="SELECT NOM,PRENOM FROM client";
$result = $idcom->query($requeteSQL);
if (!$result){
echo $idcom->errno;
echo $idcom->error;
echo "erreur : $idcom->error";
echo "lecture imposible";
}
else {
//init des variables
$debut = true;
$nbColonnes= $result ->field_count;
$nblig = $result -> num_rows;
$nomColonne = $result -> fetch_field();
echo "{\"clients\":[";//début de l'objet client et du tableau des résultats
//test si il y a des résultats
if ($nblig){
//boucle sur les différentes lignes de résultats
while ($row = $result ->fetch_row()) {
//gestion de l'accolade du début
if ($debut){
echo "{";
$debut = false;
} else {
echo ",{";
}
for($j=0;$j<$nbColonnes;$j++){
//foreach ($nomColonne as $j){
//$nomColonne=mysql_field_name($result,$j);
//$colonne = $result -> fetch_object();
echo "\"".$nomColonne->name."\":\"". utf8_encode($row[$nomColonne])."\"";
if ($j != $nbColonnes-1) echo ","; //conditionne la virgule la dernière colonne
}//fin du for
echo "}";
}//fin du while
}//fin du if
//-------
echo "]}";//cloture le tableau et l'objet
}
?>
tout cela pour construire un résultat en json de la sorte :
{"clients":[
{"nom":"hanks","prenom":"tom"},
{"nom":"jolie","prenom":"angelina"}
]}
Quand je la teste, j'ai cette erreur :
{"clients":[{
Warning: Illegal offset type in C:\wamp\www\ecotarif\test_req_json.php on line 39
"NOM":"",
Warning: Illegal offset type in C:\wamp\www\ecotarif\test_req_json.php on line 39
"NOM":""},{
Warning: Illegal offset type in C:\wamp\www\ecotarif\test_req_json.php on line 39
"NOM":"",
Warning: Illegal offset type in C:\wamp\www\ecotarif\test_req_json.php on line 39
"NOM":""}]}
s'il vous plait, je n'arrive pas à trouver comment le faire.
merci d'avance.
A voir également:
- PHP5 / Array /Json
- Importer marque page firefox json ✓ - Forum Windows
- Ouvrir fichier json android - Forum Windows
- Lecture fichier JSON Java pour Android studio ✓ - Forum Android
- Lire et convertir un fichier JSON ✓ - Forum Javascript
- Importer ancien marque page (favoris) dans FireFox ✓ - Forum Mozilla Firefox
3 réponses
merci pour votre réponse !
je suis en train de regarder cette voie.
mais, je n'arrive pas à stocker le résultat de la requete dans un array().
si vous pouvez m'aider à faire la boucle pour construire l'array(). je vous remercie.
comme ça je n'aurais qu'à faire un json_encode de mon array().
je suis en train de regarder cette voie.
mais, je n'arrive pas à stocker le résultat de la requete dans un array().
si vous pouvez m'aider à faire la boucle pour construire l'array(). je vous remercie.
comme ça je n'aurais qu'à faire un json_encode de mon array().
j'ai fait ce test et cela marche ! merci.
resultat :
[["1","toto","titi","rue sans rue","92000","paris"],["2","hero","fifi","23 rue delarue","92000","paris"]]
merci :) !
<?php
echo "<hr>";
$tablo = array();
$sql="SELECT * FROM client";
$res = $idcom->query($sql);
while($lig = $res -> fetch_row())
{
$tablo[] = $lig;
}
print_r($tablo);
echo "<br>";
echo json_encode($tablo);
?>
resultat :
[["1","toto","titi","rue sans rue","92000","paris"],["2","hero","fifi","23 rue delarue","92000","paris"]]
merci :) !
Bonjour,
tu veux écrire une requete en JSON j'ai l'impression, tu peux regarder du côté de la fonction json_encode, peut être que cela sera plus facile que ta procédure :
https://www.php.net/manual/en/function.json-encode.php
Sinon peux-tu nous dire qu'elle est ta ligne 39 s'il te plait ?
tu veux écrire une requete en JSON j'ai l'impression, tu peux regarder du côté de la fonction json_encode, peut être que cela sera plus facile que ta procédure :
https://www.php.net/manual/en/function.json-encode.php
Sinon peux-tu nous dire qu'elle est ta ligne 39 s'il te plait ?
$tab = array(); foreach($nomColonne as $champs => $valeur) $tab[$champs] = $valeur ;