Problème pour envoyer le resultat d'une requete mysql en mai
Posté : 06 août 2008, 16:51
Bonjour à tous,
Je me prends la tête depuis deux jours sur un envois de mail pour nos partenaires.
Le but est de leurs envoyer un mail tous les jours (script php lancer en tache cron à un heure donnée), sur l'état d'un listing de stock.
Le fichier d'envois en le suivant :
Le mail que je recois en test est un liting vide avec juste l'entete du tableau et la ligne du dessous vide.
J'ai sûrement fait une boulette, mais d'une étant débutant et de deux, n'ayant plus assez de recule, je ne trouve pas mon erreur.
Merci pour votre aide.
Stephane
Je me prends la tête depuis deux jours sur un envois de mail pour nos partenaires.
Le but est de leurs envoyer un mail tous les jours (script php lancer en tache cron à un heure donnée), sur l'état d'un listing de stock.
Le fichier d'envois en le suivant :
Code : Tout sélectionner
<?
include '../fonctions.php';
//-----------------------------------------------
//DECLARE LES VARIABLES
//-----------------------------------------------
$destinataire='[email protected]';
$email_expediteur='[email protected]';
$email_reply='[email protected]';
$message_texte='Bonjour,'."\n\n".'Voici l\'etat des stocks';
$message_html = '<html>';
$message_html .= '<head>';
$message_html .= ' <title>Etat Stocks</title>';
$message_html .= '</head>';
$message_html .= '<body>';
$message_html .= '<table border="1">';
$message_html .= '<tr>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Residence </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Bat. </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Niv </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Num. </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Type </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> SH </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> VAR </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Total </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Jardin </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Pkg </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Prix </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> 2 Pkgs </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Total </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> F. Notaire </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> SD </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Defisc </td>';
$message_html .= '<td bordercolor="#FFFFFF" bgcolor="#666666" align="center" class="txt1"> Loyer </td>';
$message_html .= '</tr>';
$message_html .= '<? connec_db();';
$message_html .= '$auth=mysql_query("SELECT * FROM t_lots WHERE etat_lots=\'Libre\'");';
$message_html .= 'while ( $row = mysql_fetch_array($auth) ) {';
$message_html .= '$id=$row[1];';
$message_html .= '$total_surf=$row[6]+$row[7];';
$message_html .= '$total_prix=$row[11]+$row[12];';
$message_html .= 'if ($row[7]>14){';
$message_html .= '$sd=$row[6]+14;';
$message_html .= '} else {';
$message_html .= '$sd=$total_surf;';
$message_html .= '}';
$message_html .= 'connec_db();';
$message_html .= '$res=mysql_query("SELECT * FROM t_residences WHERE id_residences=\'$id\'");';
$message_html .= '$result=mysql_fetch_object($res);';
$message_html .= 'mysql_close();';
$message_html .= '$residence=($result->nom_residences);';
$message_html .= '$taux=($result->plafond_residences);';
$message_html .= '$defisc=round(($sd*$taux*44)/100);';
$message_html .= '$taux_loyer=($result->taux_loyer_residences);';
$message_html .= '$loyer=round((($total_prix*$taux_loyer)/100)/12);?>';
$message_html .= '<tr bgcolor="<? echo switchcolor();?>">';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $residence;?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[2];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[3];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[4];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[5];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[6];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[7];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $total_surf;?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[8];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[9];?> et <? echo $row[10];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[11];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[12];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $total_prix;?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $row[13];?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $sd;?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $defisc;?></td>';
$message_html .= '<td bordercolor="#333333" align="center"><? echo $loyer;?></td>';
$message_html .= '</tr>';
$message_html .= '<? } mysql_close(); ?> ';
$message_html .= '</table> ';
$message_html .= '</body>';
$message_html .= '</html>';
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------
$frontiere = '-----=' . md5(uniqid(mt_rand()));
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: "Nom" <'.$email_expediteur.'>'."\n";
$headers .= 'Return-Path: <'.$email_reply.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: text/html; charset="iso-8859-1"';
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
$message = 'This is a multi-part message in MIME format.'."\n\n";
$message .= '--'.$frontiere.'--'."\n";
$message .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message_texte."\n\n";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= '--'.$frontiere.'--'."\n";
$message .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $message_html."\n\n";
$message .= '--'.$frontiere.'--'."\n";
$sujet = 'Etat des stocks';
if(mail($destinataire,$sujet,$message_html,$headers))
{
echo 'Le mail a été envoyé';
}
else
{
echo 'Le mail n\'a pu être envoyé';
}
?>
J'ai sûrement fait une boulette, mais d'une étant débutant et de deux, n'ayant plus assez de recule, je ne trouve pas mon erreur.
Merci pour votre aide.
Stephane