Insérer plusieurs données dans un champ [Résolu]

Signaler
Messages postés
119
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
26 novembre 2009
-
Messages postés
119
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
26 novembre 2009
-
Bonjour,



Voilà j'ai une table "accueil" dans laquelle j'ai un champ "article".
J'aimerai placer plusieurs id (pour plusieurs article à afficher dans
la page d'accueil) dans ce champ.

J'avais pour piste de stocker les articles selectionnés dans un tableau
du type $article[0] = 4; $article[1] = 52; etc... puis de stocker
$article dans le champ correspondant, mais je ne suis pas bien sûre de
la méthode et ne sais pas non plus comment stocker ces infos
dynamiquement (depuis un form)...



Quelqu'un peut il m'aiguiller un peu pliiiiiiize ?

11 réponses

Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Oui le explode fragment la chaine en tableau en fonction de l'argument (dans l'exemple | )... .. .

En ce qui te concerne il ne serait pas plus simple d'ajouter un champs dans ta table d'article pour voir si l'article est à publier ou pas... .. .

1 l'article sera à publier

0 l'article ne sera pas publié

et tu fait le tri lors de ta requete à la BDD... .. .

@ tchaOo°
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

soit tu serialize la variable avant de la stocker soit tu fait par exemple...

mavar1|mavar2|mavar3

et quand tu l'appel tu fais

$mesvar = explode('|', $mesvar);

Ca te donnera un tableau avec tes variables... .. .

@ tchaOo°
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

pour le reste j'ais pas tout compris... .. .

@ tchaOo°
Messages postés
119
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
26 novembre 2009

Oui, ta soluce me parrait pas mal.



Le principe serait de séléctionner des articles contenu dans une table
"article" pour les afficher sur une page d'accueil qui est renouvelé
toutes les semaines. J'ai donc une table "accueil" qui contient un
champ article.

Première partie : Insérer les articles séléctionnés dans le champ article (leurs id)

Seconde partie : Chercher les valeurs de ce champ (les id) pour les afficher.



Suis je un peu plus claire ?



Ta soluce : $mesvar renvoie un tableau ?
Messages postés
119
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
26 novembre 2009

En fait, tout le problème c'est qu'on a la
possibilité de publier plusieurs fois un article. Donc que je stock
l'id de l'article dans l'accueil ou l'id de l'accueil dans l'arcticle,
le problème est le même... Je suis sûre qu'il doit exister une meilleur
méthode, mais je vais essayer ta soluce.

Merci.
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

Non c'est pas "id de l'article dans l'accueil ou l'id de l'accueil dans l'arcticle"... c'est juste l'article est publiable ou non... pourquoi ce compliquer... .. .

@ tchaOo°
Messages postés
119
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
26 novembre 2009

Je ne suis pas sûre d'avoir compris... En
fait, chaque page d'accueil est ensuite stocké en archive. C'est un peu
le principe de lemonde.fr. J'ai une base de X articles, certains seront
publiés dans la page d'accueil du 12 dec, d'autres le 20 janvier,
d'autres sont réutilisés... Etc... J'ai un paramètre de publication qui
donne la permission de le publier (de l'utiliser) mais ca ne le publie
pas automatiquement, c'est au resp editorial de choisir les articles...

Ce simple paramètre ne suffira donc pas...
Messages postés
119
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
26 novembre 2009

Bon je viens de tester ta soluce et apparement il ne me stock que la dernière variable :



$var1 = "1";

$var2 = "2";

$var3 = "3";

$var4 = "4";

$var5 = "5";

$var6 = "6";

$var7 = "7";



$variable = $var1|$var2|$var3|$var4|$var5|$var6|$var7;



$variable = explode('|', $variable);



$t = $variable[0];



echo "$t"; //renvoie 7



J'ai fait une erreur quelque part ?
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

$var1 = "1";
$var2 = "2";
$var3 = "3";
$var4 = "4";
$var5 = "5";
$var6 = "6";
$var7 = "7";

//pour le stockage
$variable = $var1.'|'.$var2.'|'.$var3.'|'.$var4.'|'.$var5.'|'.$var6.'|'.$var7;

// pour la remettre en tableau
$variable = explode('|', $variable);

$t = $variable[0];

echo "$t"; //renverra 1 normalement


@ tchaOo°
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

remplacer...

$t = $variable[0];

echo "$t";

Par...

echo $variable[0];

Ca sera plus rapide... ça sert à rien de se compliquer la vie... .. . ;o)

@ tchaOo°
Messages postés
119
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
26 novembre 2009

Merci pour ta patientience. Les points entre les $var... Ben oui j'aurai du le voir : la fatigue...



J'ai tout testé et ça fonctionne très bien.