2014-07-08 5 views
0

J'ai un problème avec ma fonction. Je veux rafraîchir cette fonction toutes les 5 s sans rafraichir la page!Fonction PHP/AJAX refresh

C'est refresh.php:

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

ce qui est sur index.php:

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

Comment le faire? : D

EDIT:

+1

Vous vous rendez compte que PHP s'exécute sur le serveur? vous ne pouvez pas "actualiser" une telle fonction en utilisant le code côté serveur. Vous auriez besoin de javascsript sur le client pour une telle chose. –

+1

Vous allez devoir réfléchir un peu plus, car vous ne pouvez pas répéter une fonction PHP avec Javascript. Donnez-moi 5 minutes et je vais vous montrer comment utiliser jQuery et un vrai appel AJAX dans un fichier PHP. – David

Répondre

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 ne fait rien ... Pourquoi? : S J'ai testé le php et son m'envoie "1" mais resp ne reçoit rien – user3465632

+0

Parce que vous devez mettre le compteur glob dans le répertoire, SI c'est ce que vous utilisez. Vous êtes responsable de la façon dont "$ count" est venu avec. Je n'ai aucune idée de ce qu'est l'application. – David

+0

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