我正在尝试仅在数据库中更新时更新页面,但我不确定如何执行此操作。
我正在考虑比较存储在数据库中的id,因为每个ID都是唯一的,所以如果我制作某种表达式,将AJAX存储或拾取的当前数组与数据库中的ID进行比较。但我不确定如何比较ID并检查它们是否是新的更新
任何帮助将不胜感激
控制器
public function insertJSON()
{
$this->load->model("values");
$queryresults = $this->values->getDb();
$id = array();
$arr = array();
$arr2 = array();
foreach($queryresults as $row)
{
$id[] = $row->id;
$arr[] = $row->post;
$arr2[] = $row->img;
}
$data = array();
$data[] = $id
$data[] = $arr;
$data[] = $arr2;
echo json_encode($data);
}
查看
<script type='text/javascript' language='javascript'>
$('#getdata').click(function () {
$.ajax({
url: '<?php echo base_url().'index.php/welcome/insertJSON';?>',
async: false,
type: "POST",
success: function(data) {
// thought i could do something like
if(data.change in database) do bla bla
var id = data[0];
var arr = data[1];
var arr2 = data[2]
}
})
});
</script>
答案 0 :(得分:3)
有一种简单的方法可以做到这一点。 创建一个会话变量并为其分配最后一个id。而不是在页面上将此会话ID作为隐藏的输入。 现在,当您发送ajax请求时,您可以获取隐藏输入的值并将其发送到控制器函数,您可以在其中查询最后一个ID。如果查询中的最后一个id不等于会话ID,则应该在ajax请求中回显其他明智的回显0.检查响应是否来自控制器并且大于0更改具有新id的页面。比用ajax更新会话ID