У меня есть часть страницы, в которой есть живые данные, я думал просто обновлять страницу каждые пару минут, но это не так из-за других элементов страницы.
Как мне это сделать? Какой язык я могу использовать для этого, что легко сделать, а что нет, что хорошо работает, а что нет. Возможно, некоторые четкие учебники или даже примеры кода.
Я бы сделал это так, как PHP, но не знаю, с чего начать, из небольшого исследования я вижу, что Javascript и Ajax кажутся стандартными для этого, но мои знания об этих языках не являются до нуля.
Спасибо за время и помогите людям.
О, данные, которые отображаются, поступают из базы данных, если это какая-то помощь.
Еще раз спасибо.
Вы можете использовать Javascript-библиотеку, такую как jQuery, и сделать что-то вроде следующего упрощенного примера:
$("document").ready(function(){ var interval = setInterval(refresh_box(), 60000); function refresh_box() { $("#myDiv").load('path/to/databasepage.php'); } } /*<= The closer ) bracket is missing in this line*/
и на вашем path/to/databasepage.php
странице вы можете получить свой запрос select и отбросить результаты.
То, что это делает, устанавливает тайм-аут для вызова функции (в данном случае refresh_box()
) каждые 60 секунд (что составляет 60 000 миллисекунд) и загружает данные из path/to/databasepage.php
в ваш div с id myDiv
.
редактировать:
Если вы хотите остановить автоматическое обновление, вы можете связать элемент, чтобы очистить интервал, выполнив следующие действия:
// assuming you have a clickable element // (typically a button or so) id called 'stop_refresh' $("#stop_refresh").click(function(){ clearInterval(interval); }
Самый простой метод не включает даже PHP или JavaScript. Вы можете сделать это с помощью <iframe>
в простом HTML. В iframe загружается страница HTML или PHP с соответствующим заголовком обновления, и она обновляется.
Главная страница HTML:
<html> <head></head> <body> static content <iframe id='dynamic-content' src='refreshing.php' /> </body> </html>
Страница refreshing.php:
<html> <head> <!-- refresh every 5 seconds --> <meta http-equiv="refresh" content="5"> </head> <body> dynamic content </body> </html>
Обратите внимание, что <meta http-equiv="refresh">
не рекомендуется для общего обновления всей страницы, но довольно безопасно использовать внутри iframe, который должен постоянно обновляться.
Вы действительно не выполняете обновление в реальном времени для компонентов страницы в PHP, AJAX – это наиболее распространенное средство (Asynchronous Javascript And Xml), которое использует Javascript для опроса других скриптов (может быть .php-страниц), которые затем возвращают предопределенный вывод на основе запроса- этот вывод может быть содержимым для ввода на страницу или данных, которые затем могут быть интерпретированы вашей страницей для другого действия.
В этом случае ваша .php-страница будет включать в себя JS (javascript) в голове, будь то связанный или встроенный, который будет содержать детали для запуска запроса AJAX, а именно, как часто или на каком триггере (нажатие кнопки и т. Д.), Какими средствами (POST или GET), то, что отправлено (любые другие переменные, которые вы хотите), какой целевой скрипт (сценарий, который будет обрабатывать запрос и выводить требуемый контент / данные), и что делать, когда ответ получен (т.е. какой элемент на странице должен быть обновлен с ответом).
Немного о AJAX:
http://webdesign.about.com/od/ajax/a/aa101705.htm
http://webtrends.about.com/od/web20/a/what-is-ajax.htm
Вероятно, самый простой способ начать – использовать уже существующую библиотеку Javascript, такую как вездесущий jQuery (jquery.com), для этого есть тысячи учебных пособий, и, хотя вам нужно будет выполнить некоторые Javascript-программы, библиотека означала что вы можете полагаться на довольно простой синтаксис для этого (так же просто, как $('#myelement').load('mypage.php')
):
http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/
http://www.devirtuoso.com/2009/07/beginners-guide-to-using-ajax-with-jquery/
http://www.sitepoint.com/ajax-jquery/
http://yensdesign.com/2008/12/how-to-load-content-via-ajax-in-jquery/
Проще говоря:
это действительно большой вопрос.
Наиболее распространенным способом было бы использовать AJAX, но вы также можете использовать базу данных javascript как TaffyDB – База данных JavaScript (никогда не использовала ее, поэтому я не могу говорить об этом).
Во всяком случае, самым простым способом было бы использовать JQUERY.