PHP автоматическое обновление страницы без потери пользовательского ввода - PullRequest
0 голосов
/ 09 июня 2010

Я работаю над проектом программного обеспечения для совместной работы PHP.У меня есть страница, которая показывает последние обновления от других пользователей, которые добавляют контент в базу данных, но также имеет форму ввода, позволяющую пользователю вводить текст.В настоящее время я использую этот код для автоматического обновления страницы каждые 30 секунд:

header('Refresh: 30');

Проблема заключается в том, что код заголовка обновляет всю страницу, а не только то, что извлекается из базы данных.Есть ли какой-нибудь PHP-код, который будет просто извлекать какие-либо новые данные из базы данных, не обновляя всю страницу?

Если бы кто-то мог указать мне правильное направление, я был бы признателен.

1 Ответ

3 голосов
/ 09 июня 2010

PHP работает только тогда, когда браузер делает новый запрос к серверу.Если вы просите браузер обновить страницу, он сделает именно это.

Если вы хотите динамически изменять содержимое страницы после загрузки, вам придется использовать JavaScript и AJAX.Библиотека jQuery, широко обсуждаемая в Stack Overflow и широко используемая в Интернете, делает запросы AJAX особенно простыми для выполнения.С установленной библиотекой вы можете написать что-то вроде:

$("#element-to-refresh").load("your-page.php #element-to-refresh");

Это грубый подход, который генерирует и передает много ненужного контента, но он работает.Для более элегантного подхода рассмотрим сценарий, который генерирует только релевантные данные, которые вы можете вызывать только при обновлении.

...