[PHP]Chaines des caractères avec pts virgules

dev84 -  
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.
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    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
    0
  2. bowbow13
     
    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
    0
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Pourquoi faire dans l'expression rationnelle quand le délimiteur n'est qu'un simple caractère ?
      0
      1. bowbow13 > Reivax962 Messages postés 3742 Statut Membre
         
        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 ;)
        0
      2. Reivax962 Messages postés 3742 Statut Membre 1 011 > bowbow13
         
        Un code vraiment propre n'a pas besoin de commentaire ;)

        Sinon, la fonction explode est elle aussi faite pour ça, non ? Elle me parait même justement plus adaptée...
        0
  3. dev84
     
    Merci à tous pour vos réponses qui ont été plus que rapides et cohérentes : j'ai réussi grâce à vous à obtenir ce dont j'avais besoin

    Encore merci

    Bonne continuation à vous tous

    A bientôt
    0