HelpFinder
Новичок
Пмогите решить проблемы вывода сообщений чата
Написал программу - чат простейший. Что видимо непредусмотрел. Всё очень просто. Нижний фрейм добавляет в базе текст при отправке данных формы. В базе этот текст появляется - проверено. Мне надо чтобы скрипт находящийся в другом фрейме выводил каждую новую запись после её появления. Как мне это лучше сделать? чтобы было всё красиво, плавно. Вот что сделал я. Но не работает обновление экрана.
Точнее работать то работает - всё считывает, но на экране пусто. зацикливает и на экран не отображает. Если я искуственно зная записи таблицы прерываю внешний цикл и начальное значение присваиваю индексу первой записи, то на экране разумеется появляются все сообщения которые вышли. А тут скрипт зацикливается и не работает. он считывает всё что надо, но на экране не отображает. Может надо сделать чтобы он не в цикле работал, а рапускался раз в сколько то секунд?
Написал программу - чат простейший. Что видимо непредусмотрел. Всё очень просто. Нижний фрейм добавляет в базе текст при отправке данных формы. В базе этот текст появляется - проверено. Мне надо чтобы скрипт находящийся в другом фрейме выводил каждую новую запись после её появления. Как мне это лучше сделать? чтобы было всё красиво, плавно. Вот что сделал я. Но не работает обновление экрана.
PHP:
$rez_max_id=$db->Query("select max(id) as maximum from room");
if($rez_max_id->Count()){
$phrase_id=$rez_max_id->FetchAssoc();
$max_id=$phrase_id["maximum"];
}else{
$max_id=0;
}
$db->Close();
set_time_limit(0);
while(1){
$db=new CDB(); // класс для работы с базой данных. работает проверено.
$messages=$db->Query("select * from room where id>".$max_id);
if($messages->Count()){
while($msg=$messages->FetchAssoc()){
echo $msg["who"].":".$msg["text"]."<br>";
$max_id=$msg["id"];
}
}
$db->Close();
flush();
usleep(50000);
}