Bonjour à tous !

Je souhaite faire passer des champs avec des paramètres dans un module type post (exemple : couleur bleu ; nombres de murs : 4 etc... )

Ces champs sont récursifs et ne sont pas forcément les mêmes sur chaque post. De plus il y en a environ un 50aine.

Pour insérer ces champs en BDD plutôt que de faire 60 colonnes sur ma table j'ai créer une colonne post_options(TEXT) dans lequel j'insère mes paramètres sous forme d'array.

Le problème est : comment je peut récupérer ces valeurs sous forme d'array() car quand je fait is_array dans ma requete il me retourne FALSE.

J'ai vu pour la sérialisation mais je voulais savoir s'il n y avait pas une autre méthode?

Merci d'avance.

3 réponses


vash60700
Réponse acceptée

Hello Camarade :)

Dans ton cas, tu pourrais mettre dans ta colonne "post_options" ton array sous la forme d'une représentation JSON :

JSON_encode en PHP

Puis à la récupération, tu fais un JSON_decode :

JSON_decode en PHP

et tu retrouves ton tableau initial :)

imagnum3
Auteur

Salut a toi :)

Parfait ca marche impeccable !

Je te remercie !!

Petite question que faut-t-il préconiser entre JSON_encode en PHP et Serialize ?

JSON = J ava S cript O bject N otation

J'aurais envie de te dire que JSON_encore te permet d'obtenir une structure de données utilisables par Javascript (d'ailleurs c'est fait pour ça et c'est plus efficace que de charger les données en XML) :)

Un peu plus d'infos sur JSON et Javascript

J'aurais tendance à utiliser Serialize pour le passage d'objets en session (de page à page) et JSON pour le traitement JS et le stockage en base... après je n'ai pas la science infuse et ce n'est que mon avis ;)