Php recup donnée separées par virgules

Fermé
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 23 juin 2008 à 14:15
thifoolish Messages postés 79 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 11 juillet 2008 - 9 juil. 2008 à 00:21
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 dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
23 juin 2008 à 14:19
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 lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
30 juin 2008 à 17:20
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 dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
8 juil. 2008 à 23:14
$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 jeudi 11 janvier 2007 Statut Membre Dernière intervention 11 juillet 2008 18
9 juil. 2008 à 00:21
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