2011-03-22 61 views
0

從循環數據中,我只想自動刷新從數據庫檢索的數據,而不是整個佈局。目前我重新循環完整的佈局,但似乎有點笨拙(這個表格是一個簡單的例子)。感謝一些方向或建議!Ajax - PHP自動刷新循環數據,無需重新創建所有內容

<? 
//.. rawdata.php ..// 
while($row = mysql_fetch_array($result)) { 
//building table by looping 
?> 
<tr> 
    <td><? echo $row['uniqueid']; ?></td> 
    <td><? echo $row['firstname']; ?></td> 
    <td><? echo $row['surname']; ?></td> 
</tr> 
<? 
} 
?> 

<!-- index.php --> 
<script type="text/javascript"> 
    var auto_refresh = setInterval(function() { 
    $('#loadRawData').load('rawdata.php'); 
    }, 5000); 
</script> 
<!--...--> 
<div id="loadRawData"></div> 

回答

0

如果您只更新或添加記錄,則可以在表中添加一個「版本」列。每次更新行或插入新行時,都會增加版本並將其添加到行中。

您將版本發送給客戶端(版本列爲MAX列)。當客戶端執行其「刷新」請求時,會向您發送上次下載的版本,並且您只需發送驗證條件的行,如WHERE version > clientVersion

如果行可能被刪除,這將是棘手的,因爲在那種情況下,您需要跟蹤表中已刪除的行,以便將「刪除」操作轉發給客戶端。但是你可以用相同的「版本」機制來管理它們。

+0

感謝您的快速響應,我仍然不得不「回想」有關的佈局。實際的佈局要複雜得多,我必須通過附加的構造來跳過某些佈局結構。我不會放棄,但:)謝謝 – user671666 2011-03-22 21:15:56