Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
910 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Champs Json, ordre non gardé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Champs Json, ordre non gardé

n°2335898
Furaxx
Posté le 25-06-2019 à 10:56:56  profilanswer
 

Bonjour,
 
Je découvre l'utilisation des champs de type Json dans MySQL et j'en ai l'utilité pour une fonctionnalité de mon site.
 
Je récupère des données dans un tableau, je fais un json_encode($montableau), puis j'enregistre ça dans ma base, le problème est que l'ordre des enregistrements de mon tableau n'est pas respecté dans ce qui est enregistré dans ma base.
Cet ordre est toujours présent après le json_encode(), le changement se fait donc après, lors de l'enregistrement et je ne parviens pas à trouver de solution.
 
Bref, est-il possible de garder l'ordre de mon tableau dans l'enregistrement qui en est fait sur MySQL?
 
Merci!

mood
Publicité
Posté le 25-06-2019 à 10:56:56  profilanswer
 

n°2335901
mechkurt
Posté le 25-06-2019 à 11:09:42  profilanswer
 

Dans la norme JSON, les couple clef valeur d'un objet n'ont pas d'ordre...
https://stackoverflow.com/questions [...] -preserved
Si tu as besoin de préserver l'ordre il te faut plutôt une liste ou avoir une clef valeur "tri" dans ton objet et l'utiliser pour réordonner tes objets.


---------------
D3
n°2335903
Furaxx
Posté le 25-06-2019 à 11:21:47  profilanswer
 

Ok merci.
 
Bon, j'ai fait quelques autres tests et il se trouve qu'en mettant un champ de type "text" au lieu de Json, j'ai exactement les mêmes possibilités de requête (ce qui m'intéresse dans ce type de champ) tout en gardant l'ordre sorti par json_encode…
 
Je vais creuser du côté que tu donnes tout de même, merci!

n°2335910
mechkurt
Posté le 25-06-2019 à 12:16:18  profilanswer
 

Oui tant que tu restes dans le même langage, tu risques moins d'avoir ce genre de problème mais attention, comme ce n'est pas dans la norme, ça reste incertain, d'une version à l'autre de PHP, par exemple, le résultat ne sera pas forcément garantis...
De plus à chaque "transcodage" (vers Mysql ou Javascript par exemple) tu auras le soucis, donc si l'ordre est important pour ton appli, ajoute le d'une façon ou d'une autre à ton JSON...


---------------
D3
n°2335920
Furaxx
Posté le 25-06-2019 à 13:39:32  profilanswer
 

Ouaip je vais faire ce qu'il faut pour avoir quelque chose "d'ordonnable".
 
L'ordre n'est pas indispensable mais plus pratique pour faire quelques affichages ensuite (j'ai juste à prendre le tableau et afficher les éléments dans l'ordre), d'où l'intérêt de ce que tu me dis de faire quand même. :)
 
Merci!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Champs Json, ordre non gardé

 

Sujets relatifs
[MySQL] - Sélection d'un relevé du mois précédent[résolu] Tester si un evariable est bien une connexion Mysql ?
[MySQL] - Sélectionner enregistrements qui ne sont pas ailleurs[MySQL] Nombre de cours et exercices avec une seules requête
[MySQL] temps fetching trop important[JAVASCRIPT] JSON.parse()
[MySQL] Plusieurs tables ou une seule grosse dans ce cas?PowerShell : Compléter champs web
[SQLSERVER] Trim aléatoire (??) sur les champs char[python] Ordre de grandeur d'une décimale
Plus de sujets relatifs à : [MySQL] Champs Json, ordre non gardé


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR