envois de résultat d'une requete
8 messages
• Page 1 sur 1
- hanlin
- WRInaute occasionnel

- Messages: 300
- Inscription: 23 Mar 2006
envois de résultat d'une requete
Bonjour,
Jessaye d'envoyer par mail le résultat d'une requete, voici ce que je fais mais je ne reçois que le premier resultat à chaque fois :
function getads (){
$classifieds=mysql_query('SELECT * from matable');
while ($adslist=mysql_fetch_array($classifieds) ) {
$message=$adslist['ville'];
}
return $message;
}
$from="monmail@mail.com";
$to = "destinataire@mail.com";
$subject = "hi";
$body = getads ();
mail( $to, $subject, $body);
Pourriez vous m'aider s'il vous plait
Merci !
Jessaye d'envoyer par mail le résultat d'une requete, voici ce que je fais mais je ne reçois que le premier resultat à chaque fois :
function getads (){
$classifieds=mysql_query('SELECT * from matable');
while ($adslist=mysql_fetch_array($classifieds) ) {
$message=$adslist['ville'];
}
return $message;
}
$from="monmail@mail.com";
$to = "destinataire@mail.com";
$subject = "hi";
$body = getads ();
mail( $to, $subject, $body);
Pourriez vous m'aider s'il vous plait
Merci !
-

rajahshili - WRInaute discret

- Messages: 143
- Inscription: 22 Oct 2006
Re: envois de résultat d'une requete
function getads (){
$classifieds=mysql_query('SELECT * from matable');
while ($adslist=mysql_fetch_array($classifieds) ) {
$message=$adslist['ville'];
$from="monmail@mail.com";
$to = "destinataire@mail.com";
$subject = "hi";
mail( $to, $subject, $body);
}
return $message;
}
$body = getads ();
$classifieds=mysql_query('SELECT * from matable');
while ($adslist=mysql_fetch_array($classifieds) ) {
$message=$adslist['ville'];
$from="monmail@mail.com";
$to = "destinataire@mail.com";
$subject = "hi";
mail( $to, $subject, $body);
}
return $message;
}
$body = getads ();
- jcaron
- WRInaute accro

- Messages: 2685
- Inscription: 13 Fév 2004
Re: envois de résultat d'une requete
Le code original remplace la valeur de $message par chaque valeur de ville successivement. Donc à la fin on n'a que la dernière reçue.
Le code proposé envoie un mail pour chaque ligne!
Moi je propose de remplacer (dans le code original) la ligne $message=$adslist['ville']; par $message.="\n".$adslist['ville'];
Jacques.
Le code proposé envoie un mail pour chaque ligne!
Moi je propose de remplacer (dans le code original) la ligne $message=$adslist['ville']; par $message.="\n".$adslist['ville'];
Jacques.
-

rajahshili - WRInaute discret

- Messages: 143
- Inscription: 22 Oct 2006
Re: envois de résultat d'une requete
oui je suis d'accord, s'il veut envoyer tout le résultat de la requête à un seul email.
-

Mountain Magazin - WRInaute impliqué

- Messages: 598
- Inscription: 1 Oct 2004
Re: envois de résultat d'une requete
rajahshili a écrit:function getads (){
$classifieds=mysql_query('SELECT * from matable');
while ($adslist=mysql_fetch_array($classifieds) ) {
$message=$adslist['ville'];
$from="monmail@mail.com";
$to = "destinataire@mail.com";
$subject = "hi";
mail( $to, $subject, $body);
}
return $message;
}
$body = getads ();
Effectivement, enverra un mail par ligne, ATTENTION
jcaron a écrit:Le code original remplace la valeur de $message par chaque valeur de ville successivement. Donc à la fin on n'a que la dernière reçue.
Moi je propose de remplacer (dans le code original) la ligne $message=$adslist['ville']; par $message.="\n".$adslist['ville'];
Jacques.
C'est effectivement la bonne solution, il faut concaténer les valeurs avec .=
Et si ce fichier se trouve lui même dans une boucle de niveau supérieur, il faut penser à détruire la variable $message avant chaque nouvelle itération => unset ( $message );
+A+
- hanlin
- WRInaute occasionnel

- Messages: 300
- Inscription: 23 Mar 2006
Re: envois de résultat d'une requete
Merci infiniment pour vos réponses, la solution : $message.="\n".$adslist['ville']; marche parfaitement.
Je voudrais ajouter du formatage (html) pour faire plus présentable) dans mon message...J'ai tenté
mais je reçois le code brute...ai je oublié un truc ?
Bonne journée à vous
Hanlin
Je voudrais ajouter du formatage (html) pour faire plus présentable) dans mon message...J'ai tenté
- Code: Tout sélectionner
$message.="\n<ul><li>".$adslist['headline']."<ul><li>";
mais je reçois le code brute...ai je oublié un truc ?
Bonne journée à vous
Hanlin
- jcaron
- WRInaute accro

- Messages: 2685
- Inscription: 13 Fév 2004
Re: envois de résultat d'une requete
Par défaut, un mail c'est du texte. Si tu veux envoyer du HTML, il faut changer le Content-Type de ton mail (text/html au lieu de text/plain), et de préférence faire deux version (une HTML, une texte) en multipart/alternative. Bref, tu vas avoir besoin d'utiliser autre chose que juste la fonction mail().
Jacques.
Jacques.
- hanlin
- WRInaute occasionnel

- Messages: 300
- Inscription: 23 Mar 2006
Re: envois de résultat d'une requete
en fait j'ai trouvé un morceau de code parfait pour cela :
et puis le bout de code
Merci encore !
- Code: Tout sélectionner
http://code.web-max.ca/misc_htmlemail.php
et puis le bout de code
- Code: Tout sélectionner
$message.="\n<ul><li>".$adslist['headline']."<ul><li>";
Merci encore !
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Résultat de requête imcomprehensible
- Résultat de requête particulier
- une requete - un resultat
- requete pour un seul résultat
- Les résultat de requete (include)
- resultat requete sql avec x occurence
- Ma requête php s'affiche lors du résultat help!
- Incohérence d'un résultat de requête Google
- Resultat requete differente en fonction de l'os
- Résultat improbable sur une requete concurrentielle
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
