Forum Clubic

Probléme de boucle while

Salut,a tous voila j’ai un petit problème j’ai réalisé un script pour envoyer des mail automatiquement a mes client lorsque qu’une facture les attent sur le site, mais le problème avec ce script qui envoie bien les mail mais il envoie qu’une seule fois, il envoie le mail au premier enregistrement qui croise dans la base de donnée mais le reste il ne s’en occupe pas. On ma dit qui avait pas de problème dans mon code était bon et que sa viendrais de ma requéte mysql
qui renvérer qu’une seule réponse. Mais pourtant dans ma base de donnée il y a bien plusieurs enregistrement ou la date et égale a celle donnée dans la requéte. Voici mon code ci-dessous. Merci de votre reponce :slight_smile:

<?php $date = date("d-m-Y"); echo $date; mysql_connect("******", "******", "*******"); mysql_select_db("easyc_membres"); // $reponse = mysql_query("SELECT email FROM facture WHERE date='21-02-2008'"); while ($donnees = mysql_fetch_array($reponse) ) { $destinataire = $donnees['email']; $expediteur = "***************"; $reponse = $expediteur; echo "Ce script envoie un mail au format HTML à $destinataire"; $codehtml= "" . "

Une facture pour vous

". "Ceci est un document HTML
" . "Avec differentes tailles de caractères et couleurs" . ""; mail($destinataire, "Email au format HTML", $codehtml, "From: $expediteur\r\nReply-To: $reponse\r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n"); } mysql_close(); // Déconnexion de MySQL ?>

Le topic s’est envoyer 2 fois désolé merci de le suprimé
Edité le 22/02/2008 à 14:26

Salut,
es-tu sûr du format de ta date ? Dans une base mysql, la date s’écrit plutôt sous la forme “2008-02-21” (AAAA-MM-JJ)

ça dépend s’il l’a mise en format varchar et inséré à la française :slight_smile:


Test déjà ça:

<?php

$date = date("d-m-Y");
mysql_connect("******", "******", "*******");
mysql_select_db("easyc_membres"); //

$reponse = mysql_query('SELECT email FROM facture WHERE date="'.$date.'"' );
while ($donnees = mysql_fetch_array($reponse) )
{
    echo $données[0].'<br />';
}

mysql_close();
?>

Edité le 22/02/2008 à 17:17

Effectivement. Plus simplement, je voulais connaitre le format de sa date (varchar ou date) dans sa table. C’est cette hypothèse que j’envisageais aussi : format date dans la base et string dans la requete. ^ ^)