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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Une requête SQL en fonction des identifiants d'un tableau

par goeb » 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)

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

par zepretender » 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 !