2009-08-09 7 views
1

J'ai lu 3 messages sur SO sur la façon de faire cela, mais ce ne fonctionne pas pour une raison quelconque.problème rafraîchissant div contenant du code php en utilisant jquery

Sur la page index.php, j'ai ce script:

<script type="text/javascript"> 

function update() { 
    $.get("index.php", function(data) { 
    $("#uploadcount").html(data); 
    window.setTimeout(update, 5000); 
    }); 
} 

</script> 

puis cette div, aussi dans index.php

<div id=uploadcount> 
<? 
$result = mysql_query("SELECT * FROM mydb"); 
$num_rows = mysql_num_rows($result); 
echo "<h1>$num_rows</h1><h2>rows</h2>"; 
?> 
</div> 

Le php affiche le nombre de lignes fines, mais il ne sera pas actualiser le nombre.
(i dernière version ont jquery inclus dans la tête de index.php)

Répondre

1

trouvé une solution qui fonctionne très bien

<script type="text/javascript"> 
$(document).ready(function() { 
setInterval(function() 
{ 
    $('#uploadcount').fadeOut("fast").load('uploadcount.php').fadeIn("slow"); 
}, 10000); 

}); 
</script> 


<div id="uploadcount"> 
<? include("uploadcount.php");?> 
</div> 

Merci à tous pour aider.

1

Essayez enfermer votre ID div guillemets:

<div id="uploadcount"> 

Aussi, mettez votre jQuery dans un bloc document.ready, et appel à setTimeout ne doit pas être dans la méthode de .get de $:

<script type="text/javascript"> 
$(document).ready(function() { 
    function update() { 
     $.get("index.php", function(data) { 
     $("#uploadcount").html(data); 
     }); 
    } 
    window.setTimeout(update, 5000); 
}); 
</script> 

Si vous souhaitez récupérer sélectivement quelque chose d'un document, vous pouvez utiliser $.load avec un sélecteur, par exemple:

$("#uploadcount").load("index.php #uploadcount"); 

http://docs.jquery.com/Ajax/load

qui ne fonctionne qu'avec jQuery 1.2 et au-dessus.

+0

fait, et aucun effet – mrpatg

+0

@Patrick - voir mon édition – karim79

+0

aucun effet. Quand je rafraîchis la page je vois des changements, mais rien ne vit. – mrpatg

1

Essayez d'utiliser cette fonction pour votre mise à jour

function update() { 
    $("#uploadcount").load("index.php #uploadcount") 
    window.setTimeout(update, 5000); 
} 
+0

ne fonctionne pas, pas sûr de quoi, la malchance peut-être? – mrpatg

Questions connexes