probleme de boucle

Eléphant du PHP | 138 Messages

22 juin 2005, 11:21

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 juin 2005, 11:28

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 juin 2005, 11:31

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

Eléphant du PHP | 138 Messages

22 juin 2005, 11:51

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
Modifié en dernier par logone le 22 juin 2005, 12:04, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

22 juin 2005, 11:53

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

Eléphant du PHP | 138 Messages

22 juin 2005, 19:01

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