Autor Zpráva
Gecko
Profil *
Zdravím,
chci se zeptat, jak lze následující kód využít, aby se cyklik i limit (tzn. první 0,5, pak 6,10 ... 11,15 atd dokud nedojde na $num) a popř. i zjednodušil. Budu pracovat s řádově tisíci záznamy v mysql.

for ($x = 1; $x <=$num; $x++) {
    $sql = DB::query("SELECT * FROM `"._mysql_prefix."-klienti`  WHERE zamek=0 ORDER BY id DESC LIMIT 0,5"); 
    while ($item = DB::row($sql)){
    $txt_name = "$x.txt";
    $txt_save = "../plugins/admin/gen/emaily/maillist/".$txt_name;
    $text = "".$item["email"].""."\r\n";
    $soubor = fopen("".$txt_save."", "a+");
    fwrite($soubor, $text);
    fclose($soubor);
    }    
} 

Děkuji. Gecko
Tori
Profil
Jestli chcete, aby se řádky č. 0-5 uložily do souboru 1.txt, řádky č. 6-10 do souboru 2.txt atd., a tímto způsobem uložit e-maily z celé tabulky, tak stačí jeden cyklus:
$cisloSouboru = 1;
$i = 0;
$limit = 5; // kolik e-mailu do jednoho souboru
$text = '';
$sql = DB::query("SELECT * FROM `"._mysql_prefix."-klienti` WHERE zamek=0 ORDER BY id DESC");
while ($item = DB::row($sql)) {
  $text .= $item['email'] . "\r\n";
  $i++;
  if ($i % $limit === 0)  {
    file_put_contents("../plugins/admin/gen/emaily/maillist/$cisloSouboru.txt", $text);
    $text = '';
    $cisloSouboru++;
  }  
}
if (!empty($text))  {
  file_put_contents("../plugins/admin/gen/emaily/maillist/$cisloSouboru.txt", $text);
}
(Snad jsem správně pochopila váš úmysl.)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0