Php recup donnée separées par virgules

dubuducu Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   -  
thifoolish Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je souhaiterai savoir s'il est possible de faire ceci :

je voudrais, pour des raisons diverses, recuperer les infos de formulaires de ma base sql a l'aide d'une interface ou l'utilisateur entre par exemple l'id :

EX: Devis n° : 29,25,16,34

Submit


Ces données sont separées par des virgules et je souhaiterai savoir quelle genre de requete je devrai faire .
Merci !
A voir également:

3 réponses

donuts08 Messages postés 519 Date d'inscription   Statut Membre Dernière intervention   39
 
bonjour,

alors en php tu as une fonction qui s'appelle explode et qui te permet de diviser une chaine en morceaux à l'aide d'un séparateur: (elle renvoi un tableau avec chaque élément)

essai ca tu verras:

$tableau = explode(",","10,20,30,35");
foreach($tableau as $key=>$val)
{
echo "une valeur: ".$val."<br/>";
}

tu peux aussi mettre la champ saisie directement dans un IN dans ta requête SQL:
SELECT donne1,donne2 FROM matable WHERE id IN (10,20,30,35)

attention aux injections SQL parcontre, vérifie bien ce que l'utilisateur met. ^^
0
dubuducu Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   4
 
mERCI mais je ne vois pas comment l'utiliser !
on m'a conseillé d'utiliser la fonction Split()
De plus je ne vois pas ce que représentent les ( 10,15,20 ..) entre les parentheses.

Merci
0
donuts08 Messages postés 519 Date d'inscription   Statut Membre Dernière intervention   39
 
$tableau = explode(",","10,20,30,35");

la chaine "10,20,30,35" sera découpé en utilisant comme séparateur la virgule et chaque morceau est rassemblé dans un tableau. Ce qui revient à faire:

$tableau[] = "10";
$tableau[] = "20";
$tableau[] = "30";
$tableau[] = "35";
0
thifoolish Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   18
 
Bonjour,

La solution proposée plus haut est exactement équivalente à un traitement avec la fonction split.
Elle est même meilleure (plus rapide en temps d'execution.

Cldt.
0