Variables dans corps du message via une requête SQL
gabinou
-
gabinou7 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
gabinou7 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai mis une tache CRON en place pour pouvoir recevoir un récapitulatif de toutes les commandes du jour par la suite.
Ma tache CRON m'envoie bien un mail mais je n'arrive pas à trouver des solutions pour recevoir ce tableau dans le corps de ce message ( normalement c'est sensé etre un PDF mais commençons simple), actuellement je n'ai noté qu'en dur, je devrai mettre les variables mais cela ne marche pas, je déclare peut etre mon code dans le mauvais sens
Actuellement j'ai crée une requête pour exporter ma BDD en PDF via un bouton .
Ce code, vu qu'il marche très bien, j'aimerai pouvoir le réutilisé dans mon deuxième fichier qui marche très bien dans l'envoi de mail
Je suis une grande débutante en PHP,
code export PDF
code pour l'envoi de mail via CRON
J'ai mis une tache CRON en place pour pouvoir recevoir un récapitulatif de toutes les commandes du jour par la suite.
Ma tache CRON m'envoie bien un mail mais je n'arrive pas à trouver des solutions pour recevoir ce tableau dans le corps de ce message ( normalement c'est sensé etre un PDF mais commençons simple), actuellement je n'ai noté qu'en dur, je devrai mettre les variables mais cela ne marche pas, je déclare peut etre mon code dans le mauvais sens
Actuellement j'ai crée une requête pour exporter ma BDD en PDF via un bouton .
Ce code, vu qu'il marche très bien, j'aimerai pouvoir le réutilisé dans mon deuxième fichier qui marche très bien dans l'envoi de mail
Je suis une grande débutante en PHP,
code export PDF
<?php
//connexion à ma BDD perso
$connect = mysqli_connect("..", "..", "..", "..");
if(isset($_POST["submit"]))
{
$query = "SELECT identifiant,nom,prenom,adresse,complementAdresse,ville,codePostal,mail,fixe,portable,kit,tube,aiguille,adaptateur,cartonSmall,cartonBig,etiquetteChronopost,enveloppeBulle,commentaire,dateCommande FROM exemple";
$res = mysqli_query($connect, $query);
if(mysqli_num_rows($res) > 0)
{
$export = '
<table>
<tr>
<th>identifiant</th>
<th>nom</th>
<th>prenom</th>
<th>adresse</th>
<th>complement adresse</th>
<th>ville</th>
<th>code postal</th>
<th>mail</th>
<th>fixe</th>
<th>portable</th>
<th>nbre de kits</th>
<th>nbre de tubes</th>
<th>nbre aiguilles</th>
<th>nbre adaptateur</th>
<th>nbre petit carton</th>
<th>nbre grand carton</th>
<th>nbre etiquette chronopost</th>
<th>nbre enveloppe bulle</th>
<th>commentaire</th>
<th>date commande</th>
</tr>
';
while($row = mysqli_fetch_array($res))
{
$export .= '
<tr>
<td>'.$row["identifiant"].'</td>
<td>'.$row["nom"].'</td>
<td>'.$row["prenom"].'</td>
<td>'.$row["adresse"].'</td>
<td>'.$row["complementAdresse"].'</td>
<td>'.$row["ville"].'</td>
<td>'.$row["codePostal"].'</td>
<td>'.$row["mail"].'</td>
<td>'.$row["fixe"].'</td>
<td>'.$row["portable"].'</td>
<td>'.$row["kit"].'</td>
<td>'.$row["tube"].'</td>
<td>'.$row["aiguille"].'</td>
<td>'.$row["adaptateur"].'</td>
<td>'.$row["cartonSmall"].'</td>
<td>'.$row["cartonBig"].'</td>
<td>'.$row["etiquetteChronopost"].'</td>
<td>'.$row["enveloppeBulle"].'</td>
<td>'.$row["commentaire"].'</td>
<td>'.$row["dateCommande"].'</td>
</tr>
';
}
$export .= '</table>';
header('Content-Type: application/xls');
header('Content-Disposition: attachment; filename=commande-ifce.xls');
echo $export;
}
}
?>
code pour l'envoi de mail via CRON
<?php
// Plusieurs destinataires
$to = 'r';
// Sujet
$subject = 'Calendrier des anniversaires pour Août';
// message
$message = '
<html>
<head>
<title>Calendrier des anniversaires pour Août</title>
</head>
<body>
<p>Voici les anniversaires à venir au mois d\'Août !</p>
<table>
<tr>
<th>Personne</th><th>Jour</th><th>Mois</th><th>Année</th>
</tr>
<tr>
<td>Josiane</td><td>3</td><td>Août</td><td>1970</td>
</tr>
<tr>
<td>Emma</td><td>26</td><td>Août</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';
// En-têtes additionnels
$headers[] = 'To: ';
$headers[] = 'From:';
$headers[] = 'Cc: ';
$headers[] = 'Bcc: ';
// Envoi
mail($to, $subject, $message, implode("\r\n", $headers));
A voir également:
- Variables dans corps du message via une requête SQL
- Message du pere noel gratuit whatsapp - Accueil - Messagerie instantanée
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
as-tu envisagé d'ajouter des
as-tu envisagé d'ajouter des
echopour suivre ce que fait ton code?
J'ai modifié mon code
je reçois bien le mail si je clique sur le lien et le PDF se télécharge bien .
J'essaye de mettre le CRON en place sur ce fichier mais pour l'instant il n'a pas l'air de marcher
C'est pas encore le résultat que j'attends.
Le problème c'est que le css n'est pris que pour mon fichier Excel et non pour le formulaire que je reçois

je reçois bien le mail si je clique sur le lien et le PDF se télécharge bien .
J'essaye de mettre le CRON en place sur ce fichier mais pour l'instant il n'a pas l'air de marcher
C'est pas encore le résultat que j'attends.
Le problème c'est que le css n'est pris que pour mon fichier Excel et non pour le formulaire que je reçois
<?php
//connexion à ma BDD perso
$connect = mysqli_connect("..", "..", "..", "..");
$query = "SELECT identifiant,nom,prenom,adresse,complementAdresse,ville,codePostal,mail,fixe,portable,kit,tube,aiguille,adaptateur,cartonSmall,cartonBig,etiquetteChronopost,enveloppeBulle,commentaire,dateCommande FROM exemple";
$res = mysqli_query($connect, $query);
$export = '
<h1 style="text-align:center"> recapitulatif de toutes les commandes </h1>
<table>
<tr style="border:1px solid black; height:30px">
<th>identifiant</th>
<th>nom</th>
<th>prenom</th>
<th>adresse</th>
<th>complement adresse</th>
<th>ville</th>
<th>code postal</th>
<th>mail</th>
<th>fixe</th>
<th>portable</th>
<th>nbre de kits</th>
<th>nbre de tubes</th>
<th>nbre aiguilles</th>
<th>nbre adaptateur</th>
<th>nbre petit carton</th>
<th>nbre grand carton</th>
<th>nbre etiquette chronopost</th>
<th>nbre enveloppe bulle</th>
<th>commentaire</th>
<th>date commande</th>
</tr>
';
while ($row = mysqli_fetch_array($res)) {
$export .= '
<tr style="border-right:1px solid black; margin:10px">
<td>' . $row["identifiant"] . '</td>
<td>' . $row["nom"] . '</td>
<td>' . $row["prenom"] . '</td>
<td>' . $row["adresse"] . '</td>
<td>' . $row["complementAdresse"] . '</td>
<td>' . $row["ville"] . '</td>
<td>' . $row["codePostal"] . '</td>
<td>' . $row["mail"] . '</td>
<td>' . $row["fixe"] . '</td>
<td>' . $row["portable"] . '</td>
<td>' . $row["kit"] . '</td>
<td>' . $row["tube"] . '</td>
<td>' . $row["aiguille"] . '</td>
<td>' . $row["adaptateur"] . '</td>
<td>' . $row["cartonSmall"] . '</td>
<td>' . $row["cartonBig"] . '</td>
<td>' . $row["etiquetteChronopost"] . '</td>
<td>' . $row["enveloppeBulle"] . '</td>
<td>' . $row["commentaire"] . '</td>
<td>' . $row["dateCommande"] . '</td>
</tr>
';
}
$export .= '</table>';
header('Content-Type: application/xls');
header('Content-Disposition: attachment; filename=commande-ifce.xls');
echo $export;
// Sujet
$subject = 'commandes IFCE';
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=utf-8';
// En-têtes additionnels
$headers[] = 'To: ';
$headers[] = 'From: =';
$headers[] = 'Cc: ';
$headers[] = 'Bcc: ';
// Envoi
mail($to, $subject, $export, implode("\r\n", $headers));
