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

Форум PHP

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

 

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

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

тема: Вывод по очереди
 
 автор: ntro123   (10.09.2010 в 20:17)   письмо автору
 
 

Добрый день.

А как сделать так чтобы выводилось по очереди инфа от скрипта.

т.е. если есть что-то типа такого кода

$i=0;
while($i>10)
{
echo $i; // тут нужно вывести браузеру переменную i каждый раз. но вывести как ток начался цыкл
$i++;
}

Вывести браузеру каждый новый цикл.
не все сразу а по очереди.

когда скрипт работает долго, то он выводит по очереди все, а тут нужно контролировать этот вывод.

  Ответить  
 
 автор: sl1p   (10.09.2010 в 20:22)   письмо автору
 
   для: ntro123   (10.09.2010 в 20:17)
 

не понял ничерта но мб:

$i=0;
do
{
echo $i; // тут нужно вывести браузеру переменную i каждый раз. но вывести как ток начался цыкл
$i++;
} while($i>10)

  Ответить  
 
 автор: ntro123   (10.09.2010 в 20:24)   письмо автору
 
   для: sl1p   (10.09.2010 в 20:22)
 

после того как скрипт отработал он выводит результат.
а мне нужно чтобы он выводил результат после прохождения определенного промежутка кода.
т.е. скрипт еще не отработал но на определенном промежутке кода вывел результат.

  Ответить  
 
 автор: Trianon   (10.09.2010 в 20:25)   письмо автору
 
   для: sl1p   (10.09.2010 в 20:22)
 

разница лишь в том, что Ваш скрипт выведет нолик.
а скрипт тредстартера - вообще ничего не выведет.

И тот и другой сделают это по очереди.
Поскольку "выполнить вывод по очереди" в русском языке означает "выполнить вывод в строго определенной последовательности".

  Ответить  
 
 автор: ntro123   (10.09.2010 в 20:30)   письмо автору
 
   для: Trianon   (10.09.2010 в 20:25)
 

$i=0;
while($i<10)
{
echo $i;
а тут такая команда типа "вывести на экран тут же результат и продолжить выполнения скрипта"
$i++;
}

  Ответить  
 
 автор: Trianon   (10.09.2010 в 20:35)   письмо автору
 
   для: ntro123   (10.09.2010 в 20:30)
 

0123456789

  Ответить  
 
 автор: ntro123   (10.09.2010 в 20:38)   письмо автору
 
   для: Trianon   (10.09.2010 в 20:35)
 

Trianon,
я знаю результат скрипта.........
мне нужно чтобы он выводил по очереди!
сначала 0 потом продлжил цикл потом 1 и продолжил цикл и все по очереди. выводил это значит в прямом смысле. на экран

это элементарный скрипт, про100 будет что-то похожее но намного больше кода, где и парсеры есть и т.д.

  Ответить  
 
 автор: sl1p   (10.09.2010 в 20:40)   письмо автору
 
   для: ntro123   (10.09.2010 в 20:38)
 

вы бред какойто несёте)

  Ответить  
 
 автор: sl1p   (10.09.2010 в 20:41)   письмо автору
 
   для: ntro123   (10.09.2010 в 20:38)
 

он так и делает

  Ответить  
 
 автор: ntro123   (10.09.2010 в 20:30)   письмо автору
 
   для: Trianon   (10.09.2010 в 20:25)
 

$i=0;
while($i<10)
{
echo $i;
а тут такая команда типа "вывести на экран тут же результат и продолжить выполнения скрипта"
$i++;
}

  Ответить  
 
 автор: sl1p   (10.09.2010 в 20:40)   письмо автору
 
   для: Trianon   (10.09.2010 в 20:25)
 

код ТС тоже выведет нолик:)

  Ответить  
 
 автор: Trianon   (10.09.2010 в 20:47)   письмо автору
 
   для: sl1p   (10.09.2010 в 20:40)
 

код в начале темы не выведет ничего.

Но дело не в этом.
Дело в том, что тредстартер не может спросить так, чтоб было понятно не только мне, но и, скажем, Вам.

  Ответить  
 
 автор: ntro123   (10.09.2010 в 20:50)   письмо автору
 
   для: Trianon   (10.09.2010 в 20:47)
 

Trianon, посмотрите мой скрипт #2, он правельный. про100 перепутал < и >.
дело вобше не в скрипте.

  Ответить  
 
 автор: Trianon   (10.09.2010 в 20:52)   письмо автору
 
   для: ntro123   (10.09.2010 в 20:50)
 

ага.
я уже второй раз "не понял" лексему про100
Объясните, будьте добры, какого хрена Вы применяете непонятные слова, при чем намеренно?

  Ответить  
 
 автор: nikita2206   (13.09.2010 в 15:33)   письмо автору
 
   для: Trianon   (10.09.2010 в 20:52)
 

>какого хрена
Куда ты дел Trianon'а?

  Ответить  
 
 автор: ntro123   (10.09.2010 в 20:49)   письмо автору
 
   для: sl1p   (10.09.2010 в 20:40)
 

sl1p, вы не поняли.

У вас в мозгах застряла что команда "echo" - это команда вывода на кран.
да так оно и есть, но прежде чем вывести на экран, он сначала отработает а потом выведет все сразу.

т.е. сначала сгенерирует строку 0123456789 а потом по завершению скрипта выведет эту строку.
а мне нужно чтобы вывел на экран сразу как тока появилась команда echo,
а потом пошел дальше выполнять скрипт.

т.е. 0 пошел дальше, 1 пошел дальше, и т.д. но без перезагрузки страницы.

ПС. надеюсь даже умственно отсталые поняли мою мысль.

  Ответить  
 
 автор: Trianon   (10.09.2010 в 20:51)   письмо автору
 
   для: ntro123   (10.09.2010 в 20:49)
 

А что Вы ругаетесь, интересно?
Почему это умственно отсталый тот, кто должен понять мысль, а не тот, кто её таковой формулирует?

  Ответить  
 
 автор: ntro123   (10.09.2010 в 20:52)   письмо автору
 
   для: Trianon   (10.09.2010 в 20:51)
 

я вас не называл умственно отсталыми.
давайте не будем сорится и писать только по теме.

  Ответить  
 
 автор: Trianon   (10.09.2010 в 20:56)   письмо автору
 
   для: ntro123   (10.09.2010 в 20:52)
 

поведения скрипта, которое Вы ожидаете, с гарантией добиться нельзя.
Так устроен протокол, по которому идет вывод результата.
Вывод может быть задержан вплоть до завершения работы скрипта.
Максимум - можно попытаться создать предпосылки.
с помощью "\r\n", flush() и ob_flush()

  Ответить  
 
 автор: nikita2206   (13.09.2010 в 15:35)   письмо автору
 
   для: Trianon   (10.09.2010 в 20:56)
 

Насколько я понимаю, сам браузер решает - какие куски брать, он ведь не перекачивает пакетами по 1-му байту? Или я не прав?

  Ответить  
 
 автор: Trianon   (13.09.2010 в 15:56)   письмо автору
 
   для: nikita2206   (13.09.2010 в 15:35)
 

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

  Ответить  
 
 автор: Slo_Nik   (10.09.2010 в 20:54)   письмо автору
 
   для: ntro123   (10.09.2010 в 20:49)
 

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

  Ответить  
 
 автор: ntro123   (10.09.2010 в 21:01)   письмо автору
 
   для: Slo_Nik   (10.09.2010 в 20:54)
 

Slo_Nik, пожалуй так и надо было делать.

я делаю чекер ссылок.

там много фильтров(функций), по внешним факторам по внутренним.
и ссылок подряд может быть 200-300.

зайдет человек, будет юзать чекер, а он грузится 5-7 минут. ну не дело же это. закроет и уйдет.
а если выводить по очереди то все нормально будет.

а вот как вывести по очереди? чтобы не обращаться к скрипту по нескольку раз?
вот и нужно выводить по очередно. а как - это вы мне должны помочь =)

извините если что.


если это не выполнимо.
то буду юзать ajax, но тогда будет много обращений к скрипту, что не есть гуд.

  Ответить  
 
 автор: Slo_Nik   (10.09.2010 в 21:13)   письмо автору
 
   для: ntro123   (10.09.2010 в 21:01)
 

>а как - это вы мне должны помочь
ну я Вам ни чего не должен, надеюсь :):):):):)

ну и пусть выполняется некоторое время, в процесе выполнения выведите предупреждение пользователю, что выполнение скрипта может занять некоторое время.

  Ответить  
 
 автор: sl1p   (10.09.2010 в 21:34)   письмо автору
 
   для: ntro123   (10.09.2010 в 21:01)
 

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

можно попробовать какимто асинхроном, AJAX например.

  Ответить  
 
 автор: ntro123   (10.09.2010 в 22:36)   письмо автору
 
   для: sl1p   (10.09.2010 в 21:34)
 

спасибо, уже понял что только ajax(см выше).

тему можно закрывать.

  Ответить  
 
 автор: mihdan   (13.09.2010 в 00:17)   письмо автору
 
   для: sl1p   (10.09.2010 в 21:34)
 

Trianon уже написал, как это можно реализовать - ob_flush(), flush()

  Ответить  
Rambler's Top100
вверх

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