Une requête SQL en fonction des identifiants d'un tableau

Eléphant du PHP | 52 Messages

13 juil. 2006, 12:03

Bonjour,

Un truc certainement tout bête (je le simplifie) :

Ma table comporte 500 enregistrements (adresses email, adresseMail). Il y a un identifiant unique par ligne (mailId). Je propose aux utilisateurs de cocher des adresses dans la liste globale pour envoyer un courrier aux seules adresses cochées ($envoi[] s'incrémente donc de l'identifiant du mail) et cliquer sur Envoyer.

Le tableau "$envoi" est transmis à la page suivante qui va faire la requête à la base de données pour obtenir : mail, nom, autres infos.

Comment faire cette requête ?

Par exemple, je n'ai coché que 10 cases, count($envoi) m'indique bien 10. je veux faire une requête du type :

SELECT adresseMail, nom, prenom FROM mails WHERE mailId..... c'est là que je pêche !

Comment faire pour ne sélectionner que les éléments cochés et dont les identifiants sont stockés dans le tableau "$envoi" ?

Merci d'avance !

Eléphant du PHP | 413 Messages

13 juil. 2006, 13:05

salut,
tu pourrais faire un truc du genre :
 $sql = "SELECT adresseMail, nom, prenom FROM mails WHERE 1=0 ";
foreach ($envoi as $id) {
  $sql .= " OR mailId = $id";
}
le résultat de la requête sera alors :

Code : Tout sélectionner

SELECT adresseMail, nom, prenom FROM mails WHERE 1=0 OR mailId = 1 OR mailId = 33 OR mailId =543
(le 1=0 sert à simplifier la boucle qui rajoute les "OR mailId = $id"...)


il y a aussi quelqu'un qui fait un peu pareil que toi ici :
http://www.phpfrance.com/forums/voir_sujet-20498.php
(ça te donne une autre idée pour ce que tu cherches)
--
Goeb