[PHP5] flush in while schleife

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP5] flush in while schleife

    Hallo :-)

    Ich habe einen Paidmailversand programmiert und im Adminbereich werden gebucht Mails verschickt. Bisher war es so das alles in einer ganz normalen while schleife war und wenn ich den Button "verschicken" klicke ruft das Script die schleife auf und versorgt die Empfänger mit Mails. Dann bekomme ich währen dem Versand eine weiße Seite zu sehen und wenn alles durch ist die Auflistung wer eine Mail bekommen hat. Das ganze wollte ich jetzt mit flush aufwerten um den aktuellen Mailversand beobachten zu können. Nur hab ich schnell festgestellt das das mit einer while schleife nicht funktioniert. In einer einfache for schleife mit zahlen von z.B. 1-10 die im Sekundentakt aufgezählt werden klappt es wnderbar.. aber in meiner while schleife ändert sich nix.

    Das ist mein Quelltext:

    PHP-Code:
    if($go == paidmail_send){

    $resultadmin mysql_query("SELECT url, seitenname, email FROM `admin`"); 

    $rowadmin mysql_fetch_row($resultadmin); 

    $siteurl $rowadmin[0];
    $sitename $rowadmin[1];
    $adminemail $rowadmin[2];


    $resultb mysql_query("SELECT * FROM `paidmails` where mailid=$paidmail_id");
    $myrow mysql_fetch_row($resultb);

    if (
    get_magic_quotes_gpc()) { 
      
    $decodierter_text stripslashes(base64_decode($myrow[5])); 
     } else {
    $decodierter_text base64_decode($myrow[5]);}

    ob_end_flush();
    echo
    "...Bereite den Mailversand vor....<br>";
    $result mysql_query("select name, prename, id, email from accounts WHERE paidmails='1' ORDER BY rand() LIMIT $myrow[8]");
    flush();
    sleep(3);
    echo
    "...Starte Paidmailversand....<br><br>";
    $ok=1;



            while(
    $zeile=mysql_fetch_row($result)) {
            
                
    $text=$decodierter_text;
                
                
    mail("$zeile[3]","Paidmail: $myrow[4]","Paidmail by [url]www.domain.de[/url] - Das Bestätigen dieser Mail, durch klicken des Bestätigungslinks am Ende dieser Paidmail, wird dir vergütet! \n\n$text \n\n\n |------Bestätigungslink ($myrow[7] Punkte Vergütung)------|\n $siteurl/paidmail.php?userid=$zeile[2]&mailid=$myrow[0]&pkey=$myrow[14]\n\nAOL User klicken bitte bitte folgenden Bestätigungslink:\n<a href=\"$siteurl/paidmail.php?userid=$zeile[2]&mailid=$myrow[0]&pkey=$myrow[14]\">$siteurl/paidmail.php?userid=$zeile[2]&mailid=$myrow[0]&pkey=$myrow[14]</a>\n\n***Diese Paidmail ist kein Spam. Der Empfang von Paidmails kann jederzeit im Mitgliederbereich abgestellt werden","From: $sitename <$adminemail>");
            
        
    echo
    $ok/$myrow[8] | Verschickt an : <b>$zeile[0]</b> $zeile[3]<br>";
    $ok++;
    ob_end_flush();
    flush();
    sleep(1);

     }
     
    $inserttime time();
    $ask"UPDATE `paidmails` SET datumfree='$inserttime' WHERE mailid='".$paidmail_id."'";
    $result mysql_query($ask) or die(mysql_error());

    echo
    "<div align=\"center\"><b>ALLE AUFTRÄGE VERSCHICKT!</b></div>";
    include(
    "../templates/admin-footer.txt");
    die;


    ***EDIT***
    also muss nicht flush sein.. wenn jemand eine gute Ajax lösung kennt wäre das auch hilfreich, wobei da benötige ich dann etwas hilfe, da ich ajax nicht so kann
    Zuletzt geändert von michael1984; 27.09.2008, 21:49.

  • #2
    Bei der Überbreite wundert es dich nicht, dass keiner Antwortet, oder?

    Kommentar

    Lädt...
    X