Page 1 sur 1

probleme de boucle

Posté : 22 juin 2005, 11:21
par logone
Salut,

Je suis en train de developper une petite page qui se traite en 2 temps

1ere je recupere dans un table alerte un mail et une requete que je met dans un tableau

Code : Tout sélectionner

$result=mysql_query ("select mail,requeteSQL, DATE_FORMAT(date,'%d/%m/%Y') from alerte where valide='Y'"); while($data=mysql_fetch_row($result)) { $email = $data[0]; $requeteSQL = $data[1];
puis je recupere la valeur de $data[1] dans une varaible pour lancer une seconde requete

Code : Tout sélectionner

$result2=mysql_query ("select code_affaire from immodata where $requeteSQL "); $sujet = "Vos alertes sur le site www.monsite.fr "; while($data2=mysql_fetch_row($result2)) { $body.= " \nConsulter offre www.monsite.fr/detail.php?id=$data2[0]"; } $body.= " \n\nVous souhaitez desactiver cette alerte"; $body.= " \nCliquez ici http://www.monsite.fr/stopalerte.php?mail=$data[0]\n"; mail($email,$sujet,$body,$headers); }
Chose etrange quand je n'ai qu'une adresse mail ca passe je recoit bien le mail
mais si j'en ai 2 ca ne fonctionne pas le mail ne pars pas

Comment faire je pense que mon approche du probleme n'est pas le bon mais j'ai peur de trop tourner en rond


Merci de votre aide

Posté : 22 juin 2005, 11:28
par ouckileou
il faut que tu concatènes tes adresses emails en les séparant par des virgules

Code : Tout sélectionner

email1, email2, email3...
et après tu envoies

Posté : 22 juin 2005, 11:31
par ouckileou
il faut que tu concatènes tes adresses emails en les séparant par des virgules

Code : Tout sélectionner

email1, email2, email3...
et après tu envoies
edition : j'ai peut-être répondu à coté en fait... :oops:
tu peux oster ton code en un seul bloc avec les balises PHP et non code, en indentant correctement ? on verra mieux comme ça

Posté : 22 juin 2005, 11:51
par logone
ok pas de soucis

Code : Tout sélectionner

$result=mysql_query ("select mail,requeteSQL, DATE_FORMAT(date,'%d/%m/%Y') from alerte where valide='Y'"); while($data=mysql_fetch_row($result)) { $email = $data[0]; $requeteSQL = $data[1]; $result2=mysql_query ("select code_affaire from immodata where $requeteSQL "); $sujet = "Vos alertes sur le site www.monsite.fr "; while($data2=mysql_fetch_row($result2)) { $body.= " \nConsulter offre www.monsite.fr/detail.php?id=$data2[0]"; } $body.= " \n\nVous souhaitez desactiver cette alerte"; $body.= " \nCliquez ici http://www.monsite.fr/stopalerte.php?mail=$data[0]\n"; mail($email,$sujet,$body,$headers);

voila

Posté : 22 juin 2005, 11:53
par ouckileou
par "balises PHP" j'entend celles du forum, le petit bouton à coté de "code" que tu as utilisé dans ton premier message ;)

pas besoin de reposter, édite ton dernier message

Posté : 22 juin 2005, 19:01
par logone
je continue a chercher mon probleme

et voici ce que ca donne

Code : Tout sélectionner

$result=mysql_query ("select mail,requeteSQL, DATE_FORMAT(date,'%d/%m/%Y') from alerte where valide='Y'"); while($data=mysql_fetch_row($result)) { //$email = $data[0]; $requeteSQL = $data[1]; //$datederef = $data[2]; $headers = "From: [email protected]\n"; $compte=mysql_query("select count(code_affaire) from immodata where $requeteSQL "); list($numrec)=mysql_fetch_row($compte); $result2=mysql_query ("select immodata.code_affaire from immodata where $requeteSQL "); $sujet = "Vos alertes sur le site www.site.fr "; $body.= "Il y a $numrec nouveaux biens qui correspondent à votre alerte\n\n"; while($data2=mysql_fetch_row($result2)) { $body.= " \nConsulter offre http://www.site.fr/detail.php?id=$data2[0]"; echo "email envoye a $data[0] <br> $body<br>"; } $body.= " \n\nVous souhaitez desactiver cette alerte"; $body.= " \nCliquez ici http://www.site.fr/stopalerte.php?mail=$data[0]\n"; mail($data[0],$sujet,$body,$headers); }
j'ai donc 2 personnes 2 mails dans ma base et je recoit bien les 2 mails mais un mail avec sa requete et uniquement sa requete et l'autre mail les 2 requetes

Merci d'avance