webForumDet fria alternativet

loopa 50 åt gången?

PHP

20 svar · 718 visningar · startad av kittlos · sida 2 av 2

Frågan, av kittlos

Det har snackats en del om att man i stora mailutskick bör loopa så att ca 50 skickas åt gången. Sitter och sliter med en sådan loop, men får inte till det. Nån som har en färdig lösning, eller kan förklara hur den måste gå till? jag har mina mailadresser i en mysql-tabell

Läs frågan i sin helhet →
Medlem sedan jan. 200316 inlägg
#21

Om man använder mysql_num_rows så slipper man lägga till ett extra fält...

<?php

$sql = "SELECT email, COUNT(email) AS antal FROM tabell";
$result = mysql_query($sql);

$rows = mysql_num_rows($result); //Förbättrade det lite...

$count = 0;
$recepient = "";
while ($row = mysql_fetch_array($result)){
    $recepient .= ",".$row['email'];
    $count++;

    // Om 50 adresser skicka mail
    if ($count == 50){
        $recepient = substr($recepient, 1);
        mail($recepient, "Ämne", "meddelande");
        $count = 0;
        $recepient = "";

        $index++;
	$percent = ((50 * $index) / $rows) * 100;
	echo $percent.'%<br>';
    }
}
// Tag hand om resten
if ($count > 0){
    $recepient = substr($recepient, 1);
    mail($recepient, "Ämne", "meddelande");
                echo '100%<br>';
}
else{
                echo '100%<br>';
}
?>

ojdå, skit i det, glömde läsa hela scriptet... :P

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)