Вводим в том месте где должно быть сообщение такой код:
echo "<div id=\"message\"></div>"<br />
."<script src=\"prototype.js\" type=\"text/javascript\"></script>"<br />
."<script type=\"text/javascript\" charset=\"windows-1251\">setInterval(function(){new Ajax.Updater('message', 'message.php')}, $time_pause);</script>";
По переменным:
echo "<div id=\"message\"></div>"
DIV куда выводим сообщение юзеру, является пустым и скрыт по умолчанию...
."<script src=\"prototype.js\" type=\"text/javascript\"></script>"
Подключаем скрипт
prototype...
."<script type=\"text/javascript\" charset=\"windows-1251\">setInterval(function(){new Ajax.Updater('message', 'message.php')}, $time_pause);</script>";
Вводим нужные параметры запросов, где:
1. charset=\"windows-1251\" - кодировка Вашего сайта
2. setInterval - интервал опроса сервера в миллисекундах, задается переменной $time_pause...
3. message - id нашего div тега...
4. message.php - непосредственно скрипт который делает запрос в БД и обрабатывает данные о выводе сообщения(вместо скрипта можно вставить функцию из скрипта)...
Скрипт message.php:
<br />
делаем запрос в бд<br />
IF (запрос в бд==выполнен){<br />
Header("Content-Type: text/html; charset=windows-1251");<br />
echo "<table><tr><td>Сообщение для пользователя</td></tr></table>";<br />
}<br />
В итоге: при работе скрипта, пока юзер находится на странице, через определенный интервал времени ($time_pause) делается опрос нужного скрипта, и если в скрипте появляется переменная которую можно вывести на экран, то её содержимое выводится в теге DIV без перезагрузки страницы...
Все тоже самое можно сделать на ДЖквери или любом другом Аякс скрипте, только логика и код будет другой, я просто дал примера...