Как вывести текст в 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.