2014-07-08 2 views
0

У меня проблема с моей функцией. Я хочу обновить эту функцию каждые 5 секунд без обновления страницы!Обновление функции PHP/AJAX

Это на refresh.php:

if ($files_count == 0) {   
     ?>  
    <img src="img/upload.gif">     
    <?php  
    } 

и это на index.php:

<?php include 'refresh.php'; ?> 

Как это сделать? : D

EDIT:

+1

Вы понимаете, что PHP работает на сервере? вы не можете «обновить» такую ​​функцию, используя серверный код. Для этого вам понадобится javascsript для клиента. –

+1

Вам придется подумать об этом еще немного, потому что вы не можете повторить функцию PHP с Javascript. Дайте мне 5 минут, и я покажу вам, как использовать jQuery и настоящий AJAX-вызов обратно в файл PHP. – David

ответ

0

HTML

<div class="container"></div> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 

JavaScript

setInterval(function(){check_files();}, 5000); 

function check_files() { 
    $.ajax({ 
     url: 'path/to/php/file.php', 
     type: 'GET', 
     cache: false, 
     data: {}, 
     success: function (resp) { 
     if (resp == 0) { 
      $('.container').html('<img src="img/upload.gif" />'); 
     } 
     else { 
      /// Something else 
     } 
     } 
    }); 
} 

PHP

<?php 

$count = count(glob("your_directory/*",GLOB_BRACE)); // This is what I assume you're counting files with. You may be counting from a database, though. 

echo $count; // This goes back to the AJAX call. 
+0

resp ничего не делает ... Почему? : S Я протестировал php и отправил мне «1», но resp ничего не получил – user3465632

+0

Потому что вам нужно установить счетчик glob в каталог, ЕСЛИ это то, что вы используете. Вы несете ответственность за то, как придумал '$ count'. Я понятия не имею, что такое приложение. – David

+0

$ filescount = $ users-> get_filesusercount ($ userid); $ files_count = count ($ filescount); Im using this ... Im using mysql – user3465632

Смежные вопросы