我有一个类,从数据库得到一个结果,结果是循环通过,数据库正在定期更新,但我不想保持刷新页面,因为一些原因。
//file class.php
class order {
function getOrders(){
//gets data from database
}
}
//file main.php
$ai = new order();
$orders = $ai->getOrders();
foreach($orders AS $order){
//data displayed in a table
}
我想让表自动更新,而不需要重新加载页面。
我知道我必须使用ajax,但我不知道如何在oop中实现
这样写。
$(function () {
setInterval(function () {
$("#liveTable").load("path/to/orderList");
}, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="liveTable"></div>
您需要在html页面上使用javascript和jQuery,以便重新加载页面的一部分。
你可以在你的HTML页面头部添加以下内容:
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function()
{
theIntervalHandle = setInterval(fetchNewOrders,3000);
});
function fetchNewOrders()
{
$('#ordersDiv').load('http://your.web.address/class.php');
}
</script>
和
<div id="ordersDiv"></div>
在您的HTML文件主体中,您希望在其中显示动态内容。这里假设创建输出的文件名为class.php,每3秒取一次数据,因为每秒取数据的频率很高,如果您的流量增加到几十个用户以上,可能会导致问题。