Rechercher : dans
Par :

{MySQL} Envoyer les données d'une table par mail

Dernière réponse le 2 oct 2009 à 05:55:49 Gilledunord, le 3 jui 2009 à 11:02:02 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un panier rempli par un client, et j'aimerais que lorsqu'il clique sur la confirmation de commande, il reçoit une copie de sa commande dans sa boite.

Le panier n'es pas virtuel, il est tiré des tables.
Avec un script (bidouillé) j'arrive à recevoir la copie de la commande mais ont obtiens seulement la première ligne des articles commandé, alors qu'il y en a plusieurs.
Voici le script qui concerne la partie article (j'ai retiré les partie qui constituent la page htm) :

(ici les codes de connexion)

$mail = 'trucbidule@neuf.fr';
$subject = "Demande faite sur le site 'MACHIN' le ".$now = date("d/m/Y à H:i")."";
$message = '<html><body><table><tr>
<td>Reception et  confirmation de votre commande</td>
</tr></table>
<table><tr>
    <td>Ref : </td>
    <td>Type </td>
    <td>Titre </td>
    <td>Prix U </td>
    <td>Qté </td>
    <td>Prix TTC </td>
</tr></table>
<table><tr>
    <td>'.$resultat['ref'].' </td>
    <td>'.$resultat['type'].' </td>
    <td>'.$resultat['titre'].' </td>
    <td>'.$resultat['prix'].' </td>
    <td>'.$resultat['qte'].' </td>
    <td>'.$resultat['total'].' </td>
</tr></table>
<table><tr>
<td>Date de commande : '.$date['date'].' </td>
<td>Somme total a payer : '.$ttc['somme'].'</td>
</tr></table></body></html>';

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

mail($mail, $subject, $message, $headers);

Dans la partie reception des articles j'ai essayé avec "echo"
<table><tr>
    <td>'echo ' '.$resultat['ref'].' ' '</td>
    <td>'echo ' '.$resultat['type'].' ' '</td>
    <td>'echo ' '.$resultat['titre'].' ' '</td>
    <td>'echo ' '.$resultat['prix'].' ' '</td>
    <td>'echo ' '.$resultat['qte'].' ' '</td>
    <td>'echo ' '.$resultat['total'].' ' '</td>
</tr></table>

mais je reçois l'erreur " Parse error: syntax error, unexpected T_ECHO in /var......"
En mettant "echo" en début de table j'ai la même erreur.
Pouvez vous m'aider à résoudre ce problème ?
Merci pour votre aide. Aime tout le monde et tout le monde t'aimeras.
GilleduNord
Configuration: Windows XP Internet Explorer 7.0

Meilleures réponses pour « {MySQL} Envoyer les données d'une table par mail » dans :
MySQL - Afficher les informations sur une table VoirPour afficher les informations sur une table TabTest il faut lancer la commande suivante (l'option \G améliore le formatage u résultat) : mysql> show create table TabTest\G *************************** 1. row *************************** ...
Envoyer des fichiers volumineux par mail VoirEnvoyer de gros fichiers à des amis par courrier électronique n'est pas toujours facile. La plupart des serveurs de messagerie n'acceptent pas des fichiers de taille supérieure à 5 Mo. Néanmoins, il existe des solutions alternatives : Les serveurs...

1

Gilledunord, le 7 jui 2009 à 20:09:14

Bonsoir

j'ai trouvé la solution, il suffit de mettre un point à $message exemple : ($message .=') Aime tout le monde et tout le monde t'aimeras.
GilleduNord

Répondre à Gilledunord

3

 pierelh, le 30 sep 2009 à 23:24:33

Bonjour GillesduNord (et tout le monde),
J'ai le même problème mais je n'ai pas réussi à appliquer votre script.
De plus, je n'ai pas compris
Dans la partie reception des articles j'ai essayé avec "echo"

<table><tr>
<td>'echo ' '.$resultat['ref'].' ' '</td>
<td>'echo ' '.$resultat['type'].' ' '</td>
<td>'echo ' '.$resultat['titre'].' ' '</td>
<td>'echo ' '.$resultat['prix'].' ' '</td>
<td>'echo ' '.$resultat['qte'].' ' '</td>
<td>'echo ' '.$resultat['total'].' ' '</td>
</tr></table>

accepteriez vous de m'apporter votre aide, et pourrais-je vous envoyer mon code pour avoir votre avis ?
Je tire également les infos d'une base de données mais rien ne s'affiche dans le mail . (sauf la partie <table><tr> <td>Ref : </td> <td>Type </td> <td>Titre </td> <td>Prix U </td> <td>Qté </td>
<td>Prix TTC </td></tr></table>).
Mon projet devait être fini pour demain, tant pis. Je vais reporter d'une journée.
par avance merci.
Cordialement.

Répondre à pierelh