[PhP]Implode et Explode

Fermé
Florian54700 - 28 mai 2009 à 11:22
 Utilisateur anonyme - 29 mai 2009 à 14:25
Bonjour,

Dans le cadre de mon stage en bts informatique de gestion, je dois réaliser un composant joomla.
Or, je me retrouve confronté à un problème.
Je m'explique : Est-il possible d'avoir un champ dans une base de données (dans mon exemple id_users) et que dans celui-ci on stock une liste des ID. Ces ID serait séparé par des virgules. Il me semble avoir déjà vu ça sur internet.

Exemple :
id_users
21, 22, 23, 24


Je voudrais en faite savoir comment je dois faire afin de faire une insertion dans ma base de données (donc en ajoutant de nouveau ID), et comment je peux ressortir ces données sous forme d'un tableau afin de les traiter.

D'après ce que j'ai pu voir sur internet, il s'agirait d'utiliser implode et explode.

Merci de bien vouloir m'aider.

Cordialement, Florian
A voir également:

1 réponse

Florian54700
28 mai 2009 à 14:03
Quelqu'un pour m'aider svp ?
0
Utilisateur anonyme
28 mai 2009 à 16:04
Salut,

Si j'ai bien compris tu veux casser une chaine, modifier ou bien ajouter et reconstruire ?

Essaie ça :
<?php

$id_users = "21, 22, 23, 24";
$id = explode(",",$id_users); //je coupe la chaïne $id_users avec comme séparateur la ,

for($i=0; $i<count($id); $i++)
{
	echo "Id numéro $i vaut ".$id[$i]."<br/>"; j'affiche
}
//il y a 4 éléments, les indices vont de 0 a 4-1 soit 3
//donc l'indice d'après est 4 ensuite 5 ...

$id[count($id)] = " 25"; //donc j'ajoute à la case d'après
$id[count($id)+1] = " 26"; //encore celle d'aprés ...

$id_users = implode(",",$id);//je reconstruis avec les ,

echo $id_users; //j'affiche
?>

Sortie Écran:

Id numéro 0 vaut 21
Id numéro 1 vaut 22
Id numéro 2 vaut 23
Id numéro 3 vaut 24
21, 22, 23, 24, 25, 26


0
Florian54700
29 mai 2009 à 13:48
En faite, ce n'est pas exactement ça.
Id_users est un champ dans ma base de données.

Et dans mon champ, je vais stocker un nombre inconnue d'ID de mes membres.

Seulement, je ne sais pas comment je peux faire pour que quand j'update mon enregistrement, et donc mon champ id_users, que "mon nouveau ID" se mettent à la suite de l'ancien.

Et dans l'autre sens, je ne sais pas comment je peux re-sortir mes ID de id_users individuellement.

Merci :)
0
Utilisateur anonyme > Florian54700
29 mai 2009 à 14:25
Bah j'ai bien répondu à ta question.

Pour update tu es obligé dans un premier récupérer le champ avec les id et de concaténer. Ma variable $id_users est en dur, car je n'ai pas ta base de donnée !!

en gros :
- pour récupérer 1 par 1 je te l'ai mis juste au dessus.
- pour modifier aussi
- pour ajouter sans modifier tu dois récupérer ton champs dans une variable exemple $var_recup = mysql.....
et faire $var_recup = $var_recup.", ".29; et ensuite faire un update en mettant cette varialbe dans le champ !

0