par
cdavid » 29 mai 2009, 18:02
alors j'ai modifier mon nombre de paquet par envois le temps de pause entre chaque
j'aurais plus qu'a rajouté mon fichier avec mes info pour la connexion a la db
mes voila mes 2 questions
1.pourquoi mon texte BLABLABLA fais une erreur
2.comment je fais pour validé
Bon soyé gentil vous moquez pas
Code : Tout sélectionner
<?php
/********** CONSTANTES *********/
/*
* Nombre de mails par paquet
*/
define('MAILS_PAQUET', 500);
/*
* Pause entre chaque paquet
*/
define('PAUSE', 30);
/********** FIN CONSTANTES *********/
/*
* Fonction d'envoi des mails
* Reçoie en paramètre la requête, et la pause
* Construit les mail et les envoi
*/
function sendMail($qry, $pause){
$res = mysql_query($qry) or die('ERR_SQL :<br />' . $qry . '<br />' . mysql_error());
/*** Récupération des résultats ***/
while($mail = mysql_fetch_array($res)){
BLABLABLA
}
if($pause)
sleep($pause);
}
/*
* Compter le nombre de mails à envoyer
*/
$qryNombre = "SELECT COUNT(*) FROM T_membre WHERE newsletter='1'";
$resultQryNbr = mysql_query($qryNombre) || die('ERR_SQL :<br />' . $qryNombre . '<br />' . mysql_error());
$nbrMails = mysql_result($resultQryNbr, 0, 0);
/*
* Nombre de boucles à faire
*/
$nbrBoucles = floor($nbrMails/MAILS_PAQUET);
echo 'Mails = ' . $nbrMails . ' Nombre boucles = ' . $nbrBoucles . '<br />'; // pour debugg
/*
* Nombre de mails restant après les boucles
*/
$mailsRestants = $nbrMails - $nbrBoucles * MAILS_PAQUET;
echo 'Reste = ' . $mailsRestants . '<br />'; // pour debugg
/*
* Requête générale
*/
$qryMails = "SELECT email,pseudo FROM mbre WHERE newsletter='oui' LIMIT ";
/*
* Boucle d'envoie par paquet
*/
for($i = 0; $i < $nbrBoucles; $i++){
// Construction de la requête en fonction du Nº de paquet
$qryBoucle = $qryMails . ($i * MAILS_PAQUET) . ', ' . MAILS_PAQUET;
echo '<h3>' . $qryBoucle . '</h3>'; // pour debugg
sendMail($qryBoucle, PAUSE);
}
/*
* Construction de la requête pour les mails restant après le dernier paquet
*/
$qryMailsRestants = $qryMails . ($i * MAILS_PAQUET) . ', ' . $mailsRestants;
echo '<h3>' . $qryMailsRestants . '</h3>'; // pour debugg
sendMail($qryMailsRestants, false);
?>
alors j'ai modifier mon nombre de paquet par envois le temps de pause entre chaque
j'aurais plus qu'a rajouté mon fichier avec mes info pour la connexion a la db
mes voila mes 2 questions
1.pourquoi mon texte BLABLABLA fais une erreur
2.comment je fais pour validé
Bon soyé gentil vous moquez pas
[code]<?php
/********** CONSTANTES *********/
/*
* Nombre de mails par paquet
*/
define('MAILS_PAQUET', 500);
/*
* Pause entre chaque paquet
*/
define('PAUSE', 30);
/********** FIN CONSTANTES *********/
/*
* Fonction d'envoi des mails
* Reçoie en paramètre la requête, et la pause
* Construit les mail et les envoi
*/
function sendMail($qry, $pause){
$res = mysql_query($qry) or die('ERR_SQL :<br />' . $qry . '<br />' . mysql_error());
/*** Récupération des résultats ***/
while($mail = mysql_fetch_array($res)){
BLABLABLA
}
if($pause)
sleep($pause);
}
/*
* Compter le nombre de mails à envoyer
*/
$qryNombre = "SELECT COUNT(*) FROM T_membre WHERE newsletter='1'";
$resultQryNbr = mysql_query($qryNombre) || die('ERR_SQL :<br />' . $qryNombre . '<br />' . mysql_error());
$nbrMails = mysql_result($resultQryNbr, 0, 0);
/*
* Nombre de boucles à faire
*/
$nbrBoucles = floor($nbrMails/MAILS_PAQUET);
echo 'Mails = ' . $nbrMails . ' Nombre boucles = ' . $nbrBoucles . '<br />'; // pour debugg
/*
* Nombre de mails restant après les boucles
*/
$mailsRestants = $nbrMails - $nbrBoucles * MAILS_PAQUET;
echo 'Reste = ' . $mailsRestants . '<br />'; // pour debugg
/*
* Requête générale
*/
$qryMails = "SELECT email,pseudo FROM mbre WHERE newsletter='oui' LIMIT ";
/*
* Boucle d'envoie par paquet
*/
for($i = 0; $i < $nbrBoucles; $i++){
// Construction de la requête en fonction du Nº de paquet
$qryBoucle = $qryMails . ($i * MAILS_PAQUET) . ', ' . MAILS_PAQUET;
echo '<h3>' . $qryBoucle . '</h3>'; // pour debugg
sendMail($qryBoucle, PAUSE);
}
/*
* Construction de la requête pour les mails restant après le dernier paquet
*/
$qryMailsRestants = $qryMails . ($i * MAILS_PAQUET) . ', ' . $mailsRestants;
echo '<h3>' . $qryMailsRestants . '</h3>'; // pour debugg
sendMail($qryMailsRestants, false);
?> [/code]