2014-07-12 2 views
1

Я использую Dreamweaver CS5. У меня есть база данных SQL, настроенная с описаниями погоды, которые были настроены для изменения с заданным интервалом, однако они не обновляются самостоятельно, если страница не обновляется физически. У меня есть пользователи, которые вошли в систему в течение нескольких часов, так что это точно не работает.Autorefresh content

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

Я бы хотел использовать только javascript или jquery для автоматического обновления этого раздела кода.

Это часть кода, я хочу, чтобы обновить:

<?php echo ucfirst($row_Recordset1['description']); ?> 

Я видел это как решение, но я не уверен, как реализовать эту работу для меня, или если есть лучшее решение все вместе.

<script type="text/javascript"> 
function refreshDiv() { 
    gg1.refresh(getRandomInt(0, 100)); 
} 
$(document).ready(function() { setInterval(refreshDiv, 5000); }); 
</script> 
+0

Если вы используете HTML 5, подумайте об использовании веб-рабочего: http://www.w3schools.com/html/html5_webworkers.asp Не так просто, как ответ CuSS, но он не влияют на производительность страницы. –

+0

@ gdahl Я думаю, его проблема в том, что он вообще не использует html, поэтому ему нужно создать сначала страницу, которая что-то сделает. Для меня самым простым решением для загрузки данных на интервал будет WebSocket, но реализовать его довольно непросто. – CuSS

+0

Я использую смесь php и HTML на веб-сайте, но код, который я хочу обновить, строго php. – Cyndi

ответ

0

Вам необходимо перезагрузить содержимое div по AJAX. Так как вы используете JQuery, вы можете легко сделать что-то вроде:

$(document).ready(function() { 
    setInterval(function(){ 
     $('#divid').load('/url'); 
    }, 5000); 
}); 

Вы можете прочитать больше о .loadhere

+0

Используя ваш пример, как бы определить #Divid? Прямо сейчас PHP, который я хочу обновить, просто сидит в документе как Cyndi

+0

Для этого у вас должно быть всегда 2 страницы, одна для загрузки клиентской стороны, как пользовательский интерфейс, а другая для представления данных. Тот, который вы загружаете данные, вам не нужно вносить изменения, вам нужно только реализовать это на том, что посещают пользователи. Например: * I visit '/ page' * Эта страница является HTML и содержит Javascript и jQuery для загрузки '/ page/data' * на данный момент один, каждые X секунд данные будут извлекаться из '/ page/data 'вместо'/page ' – CuSS

0

Вы должны использовать

набор тайм-аут()

Функция JavaScript. И внутри этой функции вам нужно обновить содержимое div, используя jquery Ajax. Скрипт довольно прост и даст вам желаемый результат. Для справки проверьте w3schools и jquery Ajax