Первый вариант, более простой в реализации:
Используя AJAX делаем периодичные запросы на скрипт (назовём его к примеру DBquery.php).
Каждую секунду отправляем запрос содержащий ID последней полученной записи, скрипт обращается в БД с запросом а-ля "SELECT `p1`,`p2`,`content`,`tag` FROM `table` WHERE `id` > 33".
Полученный ответ форматируем при необходимости и выводим.
Плюсы - написать такой код займёт 20 минут максимум.
Минусы - частота обновления ограничивается частотой AJAX запросов.
Второй вариант, чуть сложнее, но минусов прямых нет.
То же самое, что и в первом случае, только AJAX заменяем на технологию WebSockets. Разница AJAX и WebSockets заключается в том, что AJAX нужно вызывать переодически, а WebSockets висит всегда. Т.е. если появилась новая запись в БД, то AJAX её передаст в течении 1 секунды, а WebSockets отдаст моментально.
В остальном всё точно так же, есть скрипт, который делает запросы к БД и возвращает результат при необходимости отформатированный.