Titre: [Résolu]Resultat sql pour envoi par mail
Posté par: magicmano le le 17-11-2008 a 17:48:39
Bonjour,
Je suis débutant en php/mysql et j'ai recherché sur google mais je n'ai pas trouvé mon bonheur. je voudrais savoir comment je pourrai envoyé par mail le resultat d'une requete sql qui s'affiche dans un tableau. J'arrive a envoyé des mail simples - j'affiche mon tableau mais je n'arrive pas a envoyer le résultat de mon tableau par mail.
ci dessous mon script
-------debut du script---------- <title>Report beta</title> <body> <?php // information pour la connection à le DB $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'test';
$date1 = date("Y-m-d"); $date = "2008-11-05"; echo $date;
// connection à la DB $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); mysql_select_db($db) or die ('Erreur :'.mysql_error());
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui //récupère tous les enregistrements //requete de test $select = 'SELECT * , DATE_FORMAT(mx_fdate, "%Y-%m-%D") AS datefr FROM mxfiles where mx_fname != "" and mx_fdate = "2008-11-05"'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche. if($total) { // debut du tableau echo '<table bgcolor="#FFFFFF">'.'\n'; // première ligne on affiche les titres prénom et surnom dans 2 colonnes echo '<tr>'; echo '<td bgcolor="#669999"><b><u>Droits</u></b></td>'; echo '<td bgcolor="#669999"><b><u>User</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Groupe</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Taille</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Mois</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Jour</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Heure</u></b></td>' ; echo '<td bgcolor="#669999"><b><u>Nom du fichier</u></b></td>'; echo '<td bgcolor="#669999"><b><u>Date</u></b></td>' ; echo '</tr>'."\n"; $i=0; // lecture et affichage des résultats sur 8 colonnes, 1 résultat par ligne. while($row = mysql_fetch_array($result)) { if ($total) { $i++; echo $i."j'en ai marre de ce mail"; $codehtml= '<html><body>' . '<h1>Test Email</h1>'. '<b><u>Ceci est un document HTML</u></b><br>'. '<tr>'. '<td bgcolor="#CCCCCC">'.$row["mx_frights"].'</td>'. '<td bgcolor="#CCCCCC">'.$row["mx_fuser"].'</td>'. '<td bgcolor="#CCCCCC">'.$row["mx_fgroup"].'</td>'. '<td bgcolor="#CCCCCC">'.$row["mx_fsize"].'</td>'. '<td bgcolor="#CCCCCC">'.$row["mx_fmonth"].'</td>'. '<td bgcolor="#CCCCCC">'.$row["mx_fday"].'</td>'. '<td bgcolor="#CCCCCC">'.$row["mx_fhour"].'</td>'. '<td bgcolor="#CCCCCC">'.$row["mx_fname"].'</td>'. '<td bgcolor="#CCCCCC">'.$row["datefr"].'</td>'. '</tr>.\n'. '<font color=\"red\">couleurs</font>' . '</body></html>'; } echo '<tr>'; echo '<td bgcolor="#CCCCCC">'.$row["mx_frights"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["mx_fuser"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["mx_fgroup"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["mx_fsize"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["mx_fmonth"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["mx_fday"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["mx_fhour"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["mx_fname"].'</td>'; echo '<td bgcolor="#CCCCCC">'.$row["datefr"].'</td>'; } echo '</table>'."\n"; // fin du tableau. } else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat mysql_free_result($result);
//envoie mail à modifier $destinataire = "@mail_du_destinataire"; $expediteur = "@mail_del_expediteur"; $reponse = $expediteur;
echo "Ce script envoie un mail au format HTML à $destinataire"; $codehtml1= "<html><body>" . "<h1>envoie Email</h1>". "<b><u>Ceci est un report HTML</u></b><br>" . "<font color=\"red\">couleurs</font>" . "</body></html>"; mail($destinataire, "Email au format HTML", $codehtml, "From: $expediteur\r\n". "Reply-To: $reponse\r\n". "Content-Type: text/html; charset=\"iso-8859-1\"\r\n"); ?> </body> </html>
---------fin du script----------
cordialement,
|
Titre: Re:resultat sql pour envoie par mail
Posté par: magicmano le le 19-11-2008 a 17:45:54
pas de news sur le sujet.
Pour info le script envoie le mail avec la derniere ligne de ma requete sql. il me manque juste le début de la réponse de ma requete.
Cordialement, |
Titre: Re:resultat sql pour envoie par mail
Posté par: souifi le le 23-11-2008 a 16:54:09
Bonjour, Essaie celui ci si ce n'est pas trop tart :)
Je n'ai pas testé en local, j'espère que sa ira.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>TEST Email</title> </head>
<body>
<?php // information pour la connection à le DB $host = "localhost"; $user = "root"; $pass = ""; $db = "test"; // envoie mail à modifier $destinataire = "@mail_du_destinataire"; $expediteur = "@mail_del_expediteur"; $objet = "Test Email"; $reponse = $expediteur;
$date1 = date("Y-m-d", time()); $date = "2008-11-05"; // connection à la DB $link = mysql_connect ($host, $user, $pass) or die ("Erreur : " . mysql_error()); mysql_select_db($db) or die ("Erreur :" . mysql_error()); // requête SQL qui compte le nombre total d'enregistrement dans la table et qui // récupère tous les enregistrements // requete de test $select = ("SELECT * , DATE_FORMAT(mx_fdate, '%Y-%m-%D') AS datefr FROM mxfiles where mx_fname != '' and mx_fdate = '$date'"); $result = mysql_query($select, $link) or die ("Erreur : " . mysql_error()); $total = mysql_num_rows($result); // si on a récupéré un résultat on l'affiche. if ($total) { $texte = "<html>\r\n"; $texte .= "<h1>Test Email</h1>\r\n"; $texte .= "<b><u>Ceci est un document HTML</u></b><br />\r\n"; // debut du tableau $texte .= "<table bgcolor=\"#FFFFFF\">\r\n"; // première ligne on affiche les titres prénom et surnom dans 2 colonnes $texte .= " <tr>"; $texte .= " <td bgcolor=\"#669999\"><b><u>Droits</u></b></td>\r\n"; $texte .= " <td bgcolor=\"#669999\"><b><u>User</u></b></td\r\n>"; $texte .= " <td bgcolor=\"#669999\"><b><u>Groupe</u></b></td>\r\n"; $texte .= " <td bgcolor=\"#669999\"><b><u>Taille</u></b></td\r\n>"; $texte .= " <td bgcolor=\"#669999\"><b><u>Mois</u></b></td>\r\n"; $texte .= " <td bgcolor=\"#669999\"><b><u>Jour</u></b></td>\r\n"; $texte .= " <td bgcolor=\"#669999\"><b><u>Heure</u></b></td>\r\n"; $texte .= " <td bgcolor=\"#669999\"><b><u>Nom du fichier</u></b></td>\r\n"; $texte .= " <td bgcolor=\"#669999\"><b><u>Date</u></b></td>\r\n" ; $texte .= " </tr>\r\n"; // lecture et affichage des résultats sur 8 colonnes, 1 résultat par ligne. while ($row = mysql_fetch_array($result)) { $texte .= " <tr>"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["mx_frights"] . "</td>\r\n"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["mx_fuser"] . "</td>\r\n"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["mx_fgroup"] . "</td>\r\n"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["mx_fsize"] . "</td>\r\n"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["mx_fmonth"] . "</td>\r\n"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["mx_fday"] . "</td>\r\n"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["mx_fhour"] . "</td>\r\n"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["mx_fname"] . "</td>\r\n"; $texte .= " <td bgcolor=\"#CCCCCC\">" . $row["datefr"] . "</td>\r\n"; $texte .= " </tr>\r\n"; } // fin du tableau. $texte .= "</table>\r\n"; $texte .= "</html>\r\n";
$headers = "From: $expediteur<$expediteur>\r\n"; $headers .= "Reply-To: $reponse\r\n"; $headers .= "Content-Type: text/html; charset=\"utf-8\"\r\n";
mail($destinataire, $objet, $texte, $headers); } else { $texte = "Pas d'enregistrements dans cette table...<br />\r\n"; $texte .= "Aucun mail n'a été envoyé.\r\n"; } // on libère le résultat mysql_free_result($result);
if ($mail) { echo "Aujpourd'hui $date1,<br />\r\n"; echo "Le mail suivant viens d'être envoyer à $destinataire<br />\r\n"; echo $texte; } else { echo $texte; }
?>
</body> </html> |
|
|
Titre: Re:resultat sql pour envoie par mail
Posté par: magicmano le le 24-11-2008 a 18:07:49
merci beaucoup,
ca marche parfaitement.
|
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|