1

我试图仅在数据库中更新页面时更新页面,但我不确定如何执行此操作。

我正在考虑比较存储到数据库中的 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>
4

1 回答 1

3

有一个简单的方法可以做到这一点。创建一个会话变量并为其分配最后一个 id。比在页面上在隐藏输入上获取此会话 ID。现在,当您发送 ajax 请求时,您可以获取隐藏输入的值并将其发送到控制器函数,您可以在其中查询最后一个 id。如果查询中的最后一个 id 不等于会话 id,您应该回显其他明智的 echo 0。在 ajax 请求中检查响应是否来自控制器并且它大于 0 使用新 id 更改页面。比使用 ajax 更新会话 id

于 2013-03-21T04:57:27.220 回答