2016-06-21 14 views
0

Gibt es eine Möglichkeit, Ereignisse in einer Schleife anzuzeigen? Zum Beispiel habe ich einen Code wie folgt aus:Möglichkeiten zum Anzeigen von Ereignissen einer Schleife

foreach($users as $the_user){ 

    $user_id = $the_user['user_id']; 

    if($the_user['points_request'] == 0){ 
     $sql = "UPDATE user SET points_request = '20' WHERE user_id = '{$user_id}' "; 
     db::query($sql); 
     echo "Newly added: ".$the_user['user_fullname'].'</br>'; 

    }else{ 
     echo "Already added: ".$the_user['user_fullname'].'</br>'; 
    } 
} 

Also, wenn ich diesen Code ausführen wird es die Ereignisse in einem textbox oder in einem div Wrapper pro Zeile angezeigt werden soll. Oder vielleicht als Alarm oder etwas zeigen? Dadurch wird jede Zeile zu einem Zeitpunkt (den ganzen Weg zum Browser) zeigen

Antwort

1

:

if (ob_get_level() == 0) ob_start(); 

foreach($users as $the_user){ 

    $user_id = $the_user['user_id']; 

    if($the_user['points_request'] == 0){ 
     $sql = "UPDATE user SET points_request = '20' WHERE user_id = '{$user_id}' "; 
     db::query($sql); 
     echo "Newly added: ".$the_user['user_fullname'].'</br>'; 

    }else{ 
     echo "Already added: ".$the_user['user_fullname'].'</br>'; 
    } 
    ob_flush(); 
    flush(); 
} 

ob_end_flush(); 
+0

Gerade die Anzeige alle Ausgänge auf einmal. Ist es möglich, die Linie (Ausgang) auf einmal anzuzeigen? Wenn ausgeführt -> verstecken, wenn ausgeführt -> anzeigen. –

+0

Um den Unterschied zu sehen, fügen Sie 'sleep (2);' nach 'flush();' –

+0

Wow !, Ich kannte diese Funktion nicht. Danke vielmals! –

Verwandte Themen