Résultat json
Résolu
Bonjour à tous,
Pouvez-vous m'aider a corriger ce code svp ?
J'ai ce résultat
Au lieu de celui-ci
Merci d'avance
Pouvez-vous m'aider a corriger ce code svp ?
try{$stat = $pdo->query("SELECT * FROM table LIMIT 10");
$results = array();
while($data = $stat->fetch(PDO::FETCH_ASSOC)){
$results[] = array($data["sous_menu_tag"]);
}}catch(PDOException $e){echo "<div class='alert alert-danger'>".$e->getMessage()."</div>";}
echo json_encode($results);
J'ai ce résultat
[["A"],["B"],["C"],["D"],["E"],["F"],["G"],["H"],["I"],["J"]]
Au lieu de celui-ci
["A","B","C","D","E","F","G","H","I","J"]
Merci d'avance
4 réponses
-
ModérateurBonjour,
Il te suffit de relire ton code pour voir que tu as un array en trop$results[] = array($data["sous_menu_tag"]);
A changer par$results[] = $data["sous_menu_tag"];
Au passage, histoire de rendre ton code plus lisible ( pour toi.. mais aussi pour nous...) il faudrait que tu t'appliques sur l'indentation de ton code...
Histoire de te montrer comment ton code devrait se présenter "proprement" voici$results = array(); try { $stat = $pdo->query("SELECT * FROM table LIMIT 10"); while($data = $stat->fetch(PDO::FETCH_ASSOC)){ $results[] = $data["sous_menu_tag"]; } } catch(PDOException $e){ echo "<div class='alert alert-danger'>".$e->getMessage()."</div>"; } echo json_encode($results);
... il me semblait te l'avoir déjà dit...
-
Contributeurbonjour, si j'étais toi, j'examinerais la ligne 7. la comprends-tu?
n'hésite pas à rajouter desecho();
-
Oui merci c'est réglé.
Y a t-il moyen svp de remplacer les doubles quotte afin d'avoir ceci ?
['A','B'....]?-
-
@jordane45Pace que avec les doubles quotte j'ai cette erreur :
Uncaught SyntaxError: Unexpected end of JSON input
Alors que sans, je le l'ai pas.
J'ai essayé ceci["A","B","C","D","E","F","G","H","I","J"]
et j'ai cette erreur, tandis qu'avec ceci, mon code fonctionne :['A','B','C','D','E','F','G','H','I','J']
.
-
-
Merci a tous les deux :
echo str_replace('"', "'",json_encode($results));
Problème résolu.