Php. Постоянный цикл внутри скрипта и вывод информации на экран через веб. Пока цикл не завершится, вывода не будет. Что делать ?
@Mussi "куча клиентов" это сколько?
В чем смысл данного скрипта?Во первых как написали выше правильный запрос этоselect date_column  from last_date ORDER BY date_column DESC LIMIT 1
где date_column - название вашей колонки с датой.
разумеется по ней должен быть индекс.
если есть первичный ключ и сортировка по нему совпадает с сортировкой по date_column то что бы не заводить лишний индекс можно сделать сортировку по первичному ключу.Во вторых в качестве стартового решения - можно действительно сделать это в лоб на ajax.В третьих - дать реальную нагрузку и посмотреть куда оно упрется.
Варианты а) в базу. в этом случае делаем следующее:
ставим redis/memcache/что угодно по вкусу.
далее два варианта:
тупой:
делаем cron скрипт который выполняет указанный выше sql запрос и кладет результат в базу.
скрипт который дергается по ajax переделываем что бы он брал данные из redis
минус решения - данные возможно иногда будут запаздывать.
умный:
переписываем логику приложения которая обновляет поле date_column что бы при обновлении поля оно клалось в redisб)упрется в производительность веб сервера (более вероятно на мой взгляд)
Правильное решение (кстати в любом случае правильное) - не использовать ajax вообще, а использовать сокеты. Можно это сделать на php ( habrahabr.ru/post/41223 habrahabr.ru/company/ifree/blog/209864 habrahabr.ru/company/bitrix/blog/198540 ), можно это сделать на node.js - там чуть нативнее и есть отличная библиотека socket.io
Получение данных правильно сделать так: на старте демона получаем данные из sql (один раз), далее как в варианте 2.умный если данные менются - логика приложения шлет особый запрос в демон, демон рассылает изменение всем подключенным клиентам.
Получается мгновенное обновление данных при минимальной нагрузке к бд и основному веб серверу.
Спасибо пожалуйста.
напишите скрипт на пхп, который делает только это:checknew($newdate);
echo $newdate;
потом на javascript делайте запрос с помощью ajax с интервалом 40 секунд и обновляйте html