La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  [Résolu]Resultat sql pour envoi par mail
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: [Résolu]Resultat sql pour envoi par mail  (Lu 1230 fois)
[Résolu]Resultat sql pour envoi par mail
« sur: le 17-11-2008 a 17:48:39 »
magicmano
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 3



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

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,

« Dernière Édition: le 28-11-2008 a 17:57:23 par ToToMaStEr » Rapporter au modérateur  

Re:resultat sql pour envoie par mail
« Répondre #1 sur: le 19-11-2008 a 17:45:54 »
magicmano
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 3



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

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,

Rapporter au modérateur  
Re:resultat sql pour envoie par mail
« Répondre #2 sur: le 23-11-2008 a 16:54:09 »
souifi
Membre récent
*

Hors-Ligne

Messages: 25



Je suis un lama!

Voir le Profil
Répondre avec citation

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>

Rapporter au modérateur  
Re:resultat sql pour envoie par mail
« Répondre #3 sur: le 24-11-2008 a 18:07:49 »
magicmano
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 3



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

merci beaucoup,

ca marche parfaitement.

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg