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

291 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
164 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
163 ms — ändringar (db)