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

Форум PHP

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

 

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

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

тема: Вывести счетчик итераций
 
 автор: Владимир55   (20.11.2006 в 15:31)   письмо автору
 
 

Переменная $m принимает значение от 1 до некоей наперед неизвестной величины и хотелось бы её видеть на экране. Можно это как-то осуществить без того, чтобы полностью выводить на экран все изображение, выведенное ранее, до начала работы счетчика? То есть чтобы менялись только цифры в окне счетчика (или без окна)?

   
 
 автор: elenaki   (20.11.2006 в 16:24)   письмо автору
 
   для: Владимир55   (20.11.2006 в 15:31)
 

какое изображение? а счетчик чего? почему он в окне?

   
 
 автор: Владимир55   (20.11.2006 в 16:46)   письмо автору
 
   для: elenaki   (20.11.2006 в 16:24)
 

Ситуация такая.

На странице выведено довольно много информации, и пользователю она нужна. А в процессе работы скрипта формируется некая переменная $m, через единицу увеличивающая свое значение от 1 до какой-то наперед неизвестной величины (до сотен) . И текущее состояние $m желательно видеть. Если просто сделать оператор echo $m;, то получается столбик длиной в сотни строк, закрывающий начальную информацию на странице (да и вообще это не эстэтетично). Поэтому желательно, чтобы переменная выводилась в каком-то постоянном месте экрана. Что-то подобное я видел на сайтах - при скачивании показывается объем скаченной информации, и т.п.

Но как это сделано, я не понимаю...

   
 
 автор: elenaki   (20.11.2006 в 17:08)   письмо автору
 
   для: Владимир55   (20.11.2006 в 16:46)
 

а почему счетчик имеет предел? и что будет, если он его достигнет?

   
 
 автор: Владимир55   (20.11.2006 в 17:19)   письмо автору
 
   для: elenaki   (20.11.2006 в 17:08)
 

Предел в том смысле, что его показания по условиям задачи не достигнут тысячи. Я отметил этот нюанс исходя из того, что он, может быть, важен применительно к разрядности выводимого числа или чего-то ещё в этом роде.

   
 
 автор: EXP   (20.11.2006 в 18:40)   письмо автору
 
   для: Владимир55   (20.11.2006 в 17:19)
 

<? 
$array 
file('spisok.txt'); 
for(
$i 0$i count($array); $i++)  

$str $array[($i)]; 
if ((
$i 10) == 0) {
echo 
$i

if (
$i == 1000) {
break; 

echo 
$str '<br>'

?>
Наверно такое имеется ввиду

   
 
 автор: Владимир55   (20.11.2006 в 19:13)   письмо автору
 
   для: EXP   (20.11.2006 в 18:40)
 

Нет, совсем другое!

Опишу задачу просто словами.

Я ввожу в скрипт нужные переменные, после чего скрипт готов к работе. Я нажимаю "Старт", и он начал функционировать. При этом один раз обновилась страница, с которой исчезла кнопка "Старт" и появилась надпись: "Ждите. Происходит итерация номер:". Вот этот номер я надо вывести. Но если я просто напишу в теле выполняющегося цикла

echo $m ;

то появляется длиннющий столбик этих номеров. Вот так:
1
2
3
...
101
...
205

Поэтому очень хочется исхитриться и сделать так, чтобы номер каждой итерации записывался на месте предыдущего, а не под ним. Где-то в сети я видел подобную работу (кажется, распаковывался архив и мельтешили имена файлов, один заменяя другого. При этом страница не перезагружалась - это точно, поскольку она открывается медленно, а файлы чередовались быстрее).

Ведь как-то это делается! Но как?

   
 
 автор: EXP   (20.11.2006 в 20:09)   письмо автору
 
   для: Владимир55   (20.11.2006 в 19:13)
 

Возможно использовались функции управления выводом. http://www.softtime.ru/group/id_group=12 типа ob_flush() но что тогда переодически отправлялось

   
 
 автор: Trianon   (20.11.2006 в 20:16)   письмо автору
 
   для: Владимир55   (20.11.2006 в 19:13)
 

Весьма сомнительно, что Вы справитесь с такой задачей без привлечения JavaScript

   
 
 автор: Владимир55   (20.11.2006 в 20:32)   письмо автору
 
   для: Trianon   (20.11.2006 в 20:16)
 

Честно говоря, я не имею ничего против JavaScript. И готов использовать его и что угодно - просто не знаю как.

   
 
 автор: Trianon   (20.11.2006 в 20:53)   письмо автору
 
   для: Владимир55   (20.11.2006 в 20:32)
 

Вот это-то и плохо. Вы готовы использовать всё без разбора, и в результате в голове у Вас сплошная каша.
Впрочем, дело Ваше.


Вот вариант с JS. Хотя он имеет право не пойти - завязан на настройки PHP и Apache.

<form name=frm><input name=cnt /></form>
<?
for($i 0$i++ < 5sleep(1))
{
 echo 
"<script type=text/javascript>
   document.forms.frm.elements.cnt.value=
$i;
</script>"
;
 
flush();
}

?>

   
 
 автор: Владимир55   (20.11.2006 в 21:05)   письмо автору
 
   для: Trianon   (20.11.2006 в 20:53)
 

"Вы готовы использовать всё без разбора, и в результате в голове у Вас сплошная каша."
Это да.
РНР мне трудно дается. Очень редко описание функции совпадает с приведенным примером, и еще реже написанное в книге соответствует реальности.

   
Rambler's Top100
вверх

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