2013-05-17 5 views
0

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

Это PHP, что я использую:

function fblikes() { 
$pageID = $_GET['id']; 
$pagename = json_decode(file_get_contents('http://graph.facebook.com/' . $pageID)); 
echo $pagelikes->likes; 
} 

И это то, что я хочу быть обновлены автоматически:

<div> 
<span><?php fblikes(); ?></span> 
</div> 

Может кто-нибудь помочь мне с этим, пожалуйста?

+0

Оооо, я знаю, что это одно, то ответ -> ' « – adeneo

+1

@adeneo слишком плохо, что не соответствует *« одной DIV »* части его вопроса;) –

+0

@NielsKeurentjes - и это ужасное изобретение, которое не должно использоваться. Обновление содержимого каждые десять минут обычно плохо для пользователей, и даже новостные сайты, которые делают это, раздражают, обновляя первую страницу, когда вы пытаетесь что-то прочитать. – adeneo

ответ

3

Quoting myself:

Вы не можете 'перезагрузить DIV. A div - это всего лишь один элемент на всей веб-странице , и сам по себе он не имеет URL-адреса, из которого он был загружен, поэтому его нельзя перезагрузить . Вы можете установить/заменить содержимое div Ajax, но это определенно не «перезагрузка» - вам нужно будет явно определить URL для загрузки своего нового контента.

Вам нужно написать Javascript, используйте setTimeout запланировать функцию для выполнения в течение 10 минут, а затем использовать вызов Ajax для получения JSON или HTML-данных, которые затем либо разбираемые или помещен в соответствующем span элемента.

В вашей конкретной ситуации вы можете сделать свою собственную жизнь проще, используя API-интерфейс Javascript Facebook, и просто вызывать FB.api(...) звонок каждые 10 минут, поскольку это похоже на то, что вы хотите.

1

использование JQuery/Ajax для этого.

Пример:

function reloadDiv() { 
    $.ajax({ 
    url: URL_TO_YOUR_PHP_SCRIPT, 
    type: 'get', 
    success: function(result) { 
     if (result) { 
      $('#YOUR_DIV').html('<span>' + result + '</span>'); 
     } 
    } 
    }); 
} 

и использовать SetTimeout перезагружать это Див каждые 10 минут, как:

setInterval("reloadDiv()", 600000); // 60 * 1000 * 10 
Смежные вопросы