2011-03-22 63 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