Discussion:
Liste dans un mail
(trop ancien pour répondre)
Pascale
2007-01-13 21:22:25 UTC
Permalink
J'ai des soucis avec un courrier que je souhaite envoyer automatiquement
chaque mois aux abonnés d'une liste. Actuellement, je le fais à la main, et
mon objectif est d'automatiser le traitement. Le message en question est en
texte brut.
Ce qui me pose problème, c'est de récupérer une liste de plantes assorties
d'un lien direct vers leur fiche, par exemple :

Ceratonia siliqua
http://www.[...]?numfiche=222

Pistacia sp.
http://www.[...]?numfiche=1294

Odontites vulgaris
http://www.[...]?numfiche=1587

et ainsi de suite.

Pour l'instant, j'ai un truc du genre :

$sel4="SELECT numfiche,nomplante FROM monbeaufichier WHERE
datevalid='$datevalid'";
$req4 = mysql_query($sel4) or die('<CENTER>Erreur SQL
!'.$sel4.'<br>'.mysql_error().'</CENTER>' );
while (list($numfiche,$nomplante)=mysql_fetch_row($req4))
{
$listeplantes=$nomplante."\nhttp://www.[...]?numfiche=".$numfiche."\n";
}
$sujet='Nouvelles du mois';
$texte="Bonjour,\n".$monbeautexte."\n".$listeplantes."
Cordialement\n--\nMa belle signature";
$from='From: ***@chezmoi.com';
$reply='Reply-To: ***@chezmoi.com';
$retp='Return-Path: ***@chezmoi.com';
$headers=$from."\n".$reply."\n".$retp."\n";
mail('***@ml.free.fr',$sujet,$texte,$headers);

Ce programme présente le léger défaut de ne pas marcher, car ma liste de
plantes se résume à une plante... Ce qui est un peu embêtant (alors que si,
dans la boucle, je fais un echo sur $listeplantes, j'ai bien ma liste).

Quelqu'un pourrait-il m'aider à me dépétrer de ce problème ?
--
Pascale
Olivier Miakinen
2007-01-13 21:29:10 UTC
Permalink
Post by Pascale
while (list($numfiche,$nomplante)=mysql_fetch_row($req4))
{
$listeplantes=$nomplante."\nhttp://www.[...]?numfiche=".$numfiche."\n";
}
RTFM ? ;-)

Chaque nouveau tour de boucle écrase la valeur précédente au lieu
qu'elles se rajoutent. Si à la fin tu veux une seule chaîne contenant
la totalité des valeurs, remplace ton « = » par un « .= », sans oublier
d'initialiser $listeplantes à la chaîne vide avant de commencer.
Pour quelle raison as-tu besoin d'un Reply-To pour un message
automatique ? Autant mettre l'adresse de réponse directement dans
le From, non ?
Pascale
2007-01-14 13:46:44 UTC
Permalink
Post by Olivier Miakinen
RTFM ? ;-)
Certes, mais faut trouver ce qu'on cherche (o;
Post by Olivier Miakinen
Chaque nouveau tour de boucle écrase la valeur précédente au lieu
qu'elles se rajoutent. Si à la fin tu veux une seule chaîne contenant
la totalité des valeurs, remplace ton « = » par un « .= », sans
oublier d'initialiser $listeplantes à la chaîne vide avant de
commencer.
« Bon sang, mais c'est bien sûr ! » (:
Je cherchais quelque chose de plus compliqué, je ne pensais pas qu'un
« bête » .= était la solution.
Post by Olivier Miakinen
Pour quelle raison as-tu besoin d'un Reply-To pour un message
automatique ? Autant mettre l'adresse de réponse directement dans
le From, non ?
Dans ce cas là, y a même pas besoin de Reply-To, c'est une bêtise de ma
part, une recopie à partir d'un autre de mes programmes.

Au juste : merci (:
--
Pascale
Continuer la lecture sur narkive:
Loading...