2013-12-22 108 views
3

我有一個PHP頁面,其中有一個表格顯示其中的任何信息。該信息每三秒刷新一次。 現在我發現這個解決方案刷新表:PHP刷新表無刷新整個頁面

<?php 
echo "<div>Welcome!</div>"; 
echo "<div align= \"center\" id=\"infos\">";  
echo "<table border= \"1\">"; 
... 
echo "</table>"; 
echo "</div>"; 
?> 

<script type="text/javascript"> 

$(document).ready (function() { 
    var updater = setTimeout (function() { 
     $('div#infos').load ('index.php', 'update=true').scrollTop(lastScrollPos); 
     }, 3000); 
}); 
</script> 
這樣的HTML結果是正確的

, 頁每3秒更新正確,但在第一次更新後,會發生一件奇怪的事情:

的Html結果:

<div>Welcome!</div> 
<div align= "center" id="infos">  
<div>Welcome!</div> 
<div align= "center" id="infos">  
<table border= "1"> 
... 
</table> 
</div> 

因此,所有我刷新DIV有過,現在我有他們的DIV中。 我哪裏錯了?

回答

3

如果我沒看錯你再次調用同一個文件,所以你可以嘗試這樣做,而不是,

的index.php

<?php 
echo "<div>Welcome!</div>"; 
echo "<div align= \"center\" id=\"infos\">";  
echo "<table border= \"1\">"; 
... 
echo "</table>"; 
echo "</div>"; 
?> 

<script type="text/javascript"> 

$(document).ready (function() { 
    var updater = setTimeout (function() { 
     $('div#infos').load ('table.php', 'update=true').scrollTop(lastScrollPos); 
     }, 3000); 
}); 
</script> 

table.php

<?php 
echo "<table border= \"1\">"; 
... 
echo "</table>"; 
echo "</div>"; 
?> 
+0

所以,我需要做表的副本中table.php。第一次顯示index.php的內容然後顯示table.php。我明白了嗎? – user2174050

+0

是的,我認爲這可能會奏效,請記住'table.php'也有腳本來填滿表格......如果它沒有按照你的意願工作,試試它,然後寫信給我。 –

+0

它只刷新一次!奇怪!可以在第一次頁面已經「準備好」之後? – user2174050

0

看來你的index.php的結果加載到DIV#的相關信息

要麼使僅生成你喜歡加載 或考慮一般的HTTP刷新表一個PHP - 這將刷新整個頁面