Помогите решить проблему непрерывного вывода данных на экран

HelpFinder

Новичок
Помогите решить проблему непрерывного вывода данных на экран

Имеется Mysql таблица с текстовым полем и id. Не могу найти способ чтобы организовать опрос этой таблицы и вывод на экран каждой её записи на экран. (речь идёт о чате) без использования демонов. Нужно организовать поштучный вывод каждого вновь появившегося в таблице сообщения без перезагрузки страницы. Как это реализовать?
метод
while(1){
запись=ПолучитьНовуюЗапись();
Если Запись Тогда вывести(запись);
usleep(5000);
}
не подходит, потомучто сильно подвешивает сервак и при большом числе пользователей тормозит.
Как ещё мне это сделать?
function body_load() {
setTimeout("location.reload()", 5000);
}
Тоже не подходит, так как подразумевает перезагрузку всей страницы, а надо, чтобы страница не перезагружалась, а только чтобы в неё добавлялись сообщения, потомучто перезагрузка страницы чревата скачиванием лишнего трафика что критическо для любого чата.
 

Tor

Новичок
1) зачем новую тему создал?
2) что мешает посмотреть, как сделаны другие чаты?
 

wiser

Новичок
Re: Помогите решить проблему непрерывного вывода данных на экран

Автор оригинала: HelpFinder

Как ещё мне это сделать?
function body_load() {
setTimeout("location.reload()", 5000);
}
Я делал так:
function maketempframereload()
{
top.frames['obn'].location.reload();
}
setInterval("maketempframereload()", 5000);
Делаешь невидимый фрейм ( у меня он называется obn) обновляешь его и в этом фрейме считывашь таблицу, и печатаешь новые сообщения в нужное окно, визуально ничего обновляться не будет.
 

HelpFinder

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

выхода два 1)демона написать 2)использовать Ajax библиотеку prototype которая позволяет без перезагрузки страницы обращатсяь к серверу, брать у него новые сообщения.
 
Сверху