2009-09-12 7 views
0

J'utilise actuellement $ .getJSON pour transmettre un tableau d'identifiants. Il construit essentiellement une URL comme ceci:Passage de tableau à l'aide de GET avec PHP/jQuery

http://domain.com/json.php?id=1&id=2&id=4 

Ma question est: Comment puis-je prendre ces ids qui sont passés (1,2,4) et placez-les dans ma clause where?

Quelque chose comme:

$ id = $ _GET [ 'id'];

$sql = SELECT * FROM table WHERE usrID IN ($id); 

Merci beaucoup!

Répondre

2

Juste les dans une seule chaîne séparée par des virgules.

$sql = 'SELECT * FROM table WHERE usrID IN (' . join(',', $id) . ');'; 

Vous devez également vous assurer que vous nettoyez l'entrée.

+1

Vous ne pouvez pas souligner la partie "assurez-vous que vous êtes en train d'assainir l'entrée". – KiNgMaR

+2

Good ol 'Bobby Tables ... http://xkcd.com/327/ –

+2

A voté vers le haut. Juste pour ajouter la jointure fonctionne également très bien pour les tableaux de zéro ou d'un élément; c'est-à-dire que la chaîne résultante de rejoindre un tableau avec un seul élément ne recevra pas un ',' ajouté (donc c'est toujours OK dans votre IN (..). Un tableau avec zéro éléments retournera la chaîne vide, vous pourriez vouloir tester pour cela avant de construire votre requête. – karim79

Questions connexes