Как вывести текст в echo, не дожидаясь окончания работы длительной функции

Обработка данных занимает долгое время, надо на каждой итерации выводить текущий счетчик. А то непонятно, процесс идёт или умер уже. И сколько ждать ещё. Пробовал делать как в этом примере

echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ ){
    echo $i . '<br />';
    flush();
    ob_flush();
    sleep(1);
}
echo 'End ...<br />';

Всё равно выводится сразу весь список ПОСЛЕ работы скрипта. Как победить? Браузер Firefox Developer Edition, если это важно. @InDevX, добавил мой код:

$query = "SELECT * FROM `history_oper`";   
$result = mysql_query( $query, $conn );

$call_id_array = Array();
// тут ещё 16 параметров

while ( $row = mysql_fetch_array( $result ) ) {
    $call_id_array[] = $row[ "call_id" ];
    // тут ещё 16 параметров
}
//for ( $i = 0; $i < count( $call_id_array ); $i++ ) {
for ( $i = 0; $i < 5; $i++ ) {
    $query = "UPDATE `userslist` SET 
     call_id ='$call_id_array[$i]', 
    // тут ещё 16 параметров
    WHERE parent_phone='$parent_phone_array[$i]' AND user_phone='$user_phone_array[$i]'";
    $result = mysql_query( $query, $conn );
    echo $id_array[$i]." | ".$parent_phone_array[$i]." | ".$user_phone_array[$i]." | ".$status_array[$i]." | ".mysql_affected_rows()." | ".mysql_error( $conn )."\n";    
    flush();
    ob_flush();
}
echo 'end';

Собственно, цель: найти в таблице history_oper строки с user_phone и parent_phone и обновить соответствующие записи в таблице userslist.


Ответы (0 шт):