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

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
115 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)