18:20

Пропускай все через сердце
Добрый вечер!
Подскажите, пожалуйста, каким способом реализуется следующая задача, очень популярная.
Есть страничка php, которая добавляет новую запись в соответствующую таблицу БД.
Есть другая страничка, которая выполняет запрос к базе данных и выводит поступившие за сегодняшний день записи по заданному критерию.
Как сделать так, чтобы каждый раз не сидеть, обновляя вторую страницу, в неизвестности, появились новые записи или нет, а, чтобы шло самостоятельное постоянное обращение к базе, и в случае поступления новой записи-выводить ее или хотя бы "+1" в менюшке.
По аналогии с сообщения в контакте или той же почтой.
Как это загуглить, какая технология и может есть примеры?
буду благодарна)

@темы: Вопрос, Алгоритм

Комментарии
30.01.2014 в 18:36

Торговец знаниями
AJAX.
Если с ипользованием jQuery: $('#divForCheck').load('/checkdbforupdate.php');
checkdbforupdate.php — скрипт, который выполняет проверку.
30.01.2014 в 18:46

Пропускай все через сердце
не владею ни тем, ни другим, к сожалению(
Может есть какие-то более подробные примеры?
30.01.2014 в 19:01

Торговец знаниями
.masa, первая же ссылка по запросу ajax jquery примеры: ruseller.com/lessons.php?rub=32&id=1452
30.01.2014 в 19:06

Торговец знаниями
А запрос ajax jquery load пример даёт ещё более удачные примеры
30.01.2014 в 19:29

мета-морфо-поли-мент
Так ведь нужна не только загрузка по аяксу, но еще и без действия по клику.
Здесь вам поможет setInterval(), либо уже довольно сложные решения, которые применяются для реализации реалтайм уведомлений в крупных проектах.
30.01.2014 в 22:34

Люблю, когда люди улыбаются...
Я делала .Net c# + JS, обновление страницы если записей в Бд стало больше, в url укажите адрес функции, которая будет возвращать вам текущее количество записей. Интервал запроса - 2 секунды
var old_count = parseFloat(@ViewBag.OldRecords); //Сколько записей было при открытии страницы, передайте как параметр при генерации страницы
setInterval(function () {
$.ajax({
type: "POST",
url: "@Url.Action("CurrentRecords","Event")",
success: function (data) {
if (data > old_count)
{
window.location.href = "@Url.Action("EventList", "Event")"; // страница, на которую нужно перейти при появлении новых записей
}
}
});
}, 2000);