[PHP]Chaines des caractères avec pts virgules
dev84
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjourà tous et à toutes,
je rencontre un problème depuis peu avec une chaine de caractère ressemblant à cela :
56;85;98;10
Ce champs issu d'une base de données mysql contient des identifiants de services séparés par ddes points virgules. Cependant, j'ignore comment récupérer chacun des services...
j'ai une petite idée avec un like mais je ne suis sur de rien...
j'espère que vous pourrez me répondre...
Bonne continuation à tous.
je rencontre un problème depuis peu avec une chaine de caractère ressemblant à cela :
56;85;98;10
Ce champs issu d'une base de données mysql contient des identifiants de services séparés par ddes points virgules. Cependant, j'ignore comment récupérer chacun des services...
j'ai une petite idée avec un like mais je ne suis sur de rien...
j'espère que vous pourrez me répondre...
Bonne continuation à tous.
A voir également:
- [PHP]Chaines des caractères avec pts virgules
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Caractères spéciaux - Guide
- Caractères ascii - Guide
- Caracteres speciaux - Guide
- Easy php - Télécharger - Divers Web & Internet
3 réponses
Bonjour,
Le mieux est de récupérer le champ tel quel de la base de données (donc pas de LIKE ni rien), puis d'utiliser la fonction php explode().
Celle-ci permet de transformer une chaine de caractère en tableau d'après une délimitation précise.
En l'occurrence, si ta chaine est stockée dans la variable $services, il te suffit de faire :
$tableauServices = explode(";", $services);
Ensuite, $tableauServices[0] contient le premier, [1] contient le 2e, etc.
Et tu peux faire une boucle dessus :
foreach ($tableauServices as $unService)
{
// Tout ce que tu veux
}
Xavier
Le mieux est de récupérer le champ tel quel de la base de données (donc pas de LIKE ni rien), puis d'utiliser la fonction php explode().
Celle-ci permet de transformer une chaine de caractère en tableau d'après une délimitation précise.
En l'occurrence, si ta chaine est stockée dans la variable $services, il te suffit de faire :
$tableauServices = explode(";", $services);
Ensuite, $tableauServices[0] contient le premier, [1] contient le 2e, etc.
Et tu peux faire une boucle dessus :
foreach ($tableauServices as $unService)
{
// Tout ce que tu veux
}
Xavier
euh... Si j'ai bien compris tu veux récupéré les valeurs se trouvant entre les ;, si tel est ton desir, il existe déjà une fonction permettant de l'exaucer, va sur php.net et cherche la fonction split
Ce que tu veux faire se nomme bel et bien un split d'une chaine de caractère
Ce que tu veux faire se nomme bel et bien un split d'une chaine de caractère
Pour faire les choses bien sans se compliquer la vie lol.
Cette fonction te départage automatiquement les caractère et si je me souviens te les mets dans un tableau après tout est nickel.
Un code propre et facilement modifiable auquelle chaque fonction correspond a ce que pourquoi elle a été créé.
C'est quand même plus facile un code propre avec un bon commentaire pour s'y retrouver ;)
Cette fonction te départage automatiquement les caractère et si je me souviens te les mets dans un tableau après tout est nickel.
Un code propre et facilement modifiable auquelle chaque fonction correspond a ce que pourquoi elle a été créé.
C'est quand même plus facile un code propre avec un bon commentaire pour s'y retrouver ;)