Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отображение прогресса выполнения скрипта
 
 автор: Антоха   (18.12.2006 в 16:40)   письмо автору
 
 

Здраствуйте, подскажите пожалуйста, вот допустим цикл считает от 0 до 9
<?php
for($i 0$i 10$i++) {
    echo 
$i;
}
?>

Результатом будет строка (0123456789). А как мне сделать, чтобы на одном и том же месте выдавалось сначала 0 потом 1 и т.д. .что-то на подобие процентов при загрузки программы или,
что-то типа времени.
Спасибо.

   
 
 автор: cheops   (18.12.2006 в 16:44)   письмо автору
 
   для: Антоха   (18.12.2006 в 16:40)
 

Сложно будет отправлять такой небольшой объём данных, дело в том, что сервер отправляет данные не по байту, а блоками в несколько килобайт - пока не накопиться достаточно количество данных - он их не отправляет.

   
 
 автор: Loki   (18.12.2006 в 16:47)   письмо автору
 
   для: Антоха   (18.12.2006 в 16:40)
 

яваскриптом

   
 
 автор: Антоха   (18.12.2006 в 18:10)   письмо автору
 
   для: Loki   (18.12.2006 в 16:47)
 

Данные же можно отправить из буфера принудительно и не ждать пока в нем накопятся.
В учебнике Д. Котерова написано что для этого служит функция flush()
Но мне то нужно чтобы данные выходили как типа проценты, например:
<?php
for($i 0$i 1000000$i++) {
    
$m++;
    if(
$m == 10000) {
       
$p++; 
       echo 
$p."%";
       
$m 0;
    }    
}
?>

Здесь конечно у меня всё выйдет в одну строку от 1% - 100%, а хотелось бы чтобы было как в программах ( в одном месте меняются)

   
 
 автор: NFR   (18.12.2006 в 17:24)   письмо автору
 
   для: Антоха   (18.12.2006 в 16:40)
 

Создаём див с именем name и...

<?
for($i 0$i 10$i++) 

    echo 
"<script>document.GetElementByID('name').innerHTML = \"".$i."\"</script>";
    
flush(); 

?>

   
 
 автор: Антоха   (18.12.2006 в 18:22)   письмо автору
 
   для: NFR   (18.12.2006 в 17:24)
 

Че то ничего не происходит.
Создал див

<div id="name"></div>

Скрипт в разные метса пихал, перед див, после дива, в самом диве, всеравно ничего не происходит.

   
 
 автор: NFR   (18.12.2006 в 18:34)   письмо автору
 
   для: Антоха   (18.12.2006 в 18:22)
 


<div id="name">0</div>
<?
for($i 0$i 1000$i++)  
{  
    echo 
'<script>document.all.name.innerHTML = "'.$i.'";</script>'
    
flush();  
}  
?>

   
 
 автор: z0rg   (19.12.2006 в 02:55)   письмо автору
 
   для: Антоха   (18.12.2006 в 16:40)
 


<div id="proc">0</div>
<table bgcolor=ffffff><tr><td bgcolor=3333ff><div style={color:3333ff} id="line"></div></table>
<?
function CopyLine($num)
{
 
flush();
 
    for(
$i 1;$i<$num;$i++)
    {
        
$tmp $tmp ."|";
    }
    return 
$tmp;
}

for(
$i 0$i 1001$i++)  
{
    echo 
'<script>
    document.all.proc.innerHTML = "'
.($i/10).' %";
    document.all.line.innerHTML = "'
.CopyLine($i/10).'";
    </script>'

    
flush();
}

echo 
'<script>document.all.proc.innerHTML = "Completed!";</script>';
?> 

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования