Bonjour, Bonsoir
Je souhaite attiré votre attention sur un problème que je rencontre
quand je dit "Multi données" c'est que je souhaite avec plusieurs données en un seule champs par exemples : un système d'amis (ou l'on a plusieur id en un champ) je cherche mais ne trouve pas la solution . Merci de votre aide n'ésitez pas à me demmander si je ne suis pas assez précis , cordialement Liam
Tu peux utiliser la fonction explode()
de PHP pour parser tes données.
Imaginons tu récupères un champ dont la valeur est :
$data['id'] = "id,id,id,id,id"
$id = explode($data['id'],",");
foreach ($item as $id) { ... }
explode te permet de séparer plusieurs éléments d'une chaine de caractère selon un paramétre.
$chaine = "bonjour comment vas tu ?";
$exploded_chaine = explode($chaine, " "); // ici le caractère est l'espace
foreach($item as $exploded_chaine)
{
echo $item;
}
Cet exemple va afficher bonjour, comment, vas, tu, ? (distinctement)
@Benjamin, il me semble que tu inverses les valeurs dans le foreach
foreach ($exploded_chaine as $item)
et dans ton premier exemple
$items = explode($data['id'],",");
foreach ($items as $id) { ... }
@Huggy oui merci de corriger je fais souvent l'erreur malheuresement ! Trop de temps sans php :p
Sinon, c'est loin d'être optimal de genre de chose... Tu pourrais au moins stocker un tableau sérialisé en base de données. :-)
// Sérialisation
$variableSerialisable = [
1, 2, 3, 4, 5, 6, 7
];
// Cette valeur pourrait être stockée dans la base de données (sur une colonne).
serialize($variableSerialisable);
/* ---------------------------------- */
// Désérialisation
$variableDeserialise = unserialize($taVariableSerialise); // Les données extraites d'une source de données (la BdD)
foreach ($variableDeserialise as $id) { /* tout ce que tu as envie...*/ }
Ainsi, tu pourrais mettre des données beaucoup plus complexe.
Je te recommende pas vraiment de faire ça, mais tu peux toujours le faire, c'est possible. Il y a néamoins des solutions plus orienté vers un schéma de base de données plus élaboré. Ça pourrait être contraignant pour les accès concurrent de plusieurs utilisateurs...
Je t'invite à consulter :
http://php.net/manual/fr/function.serialize.php
http://php.net/manual/fr/function.unserialize.php
Bonjour,
plusieurs solutions: