使用php实现KendoUI网格服务器分页

使用php实现KendoUI网格服务器分页,php,kendo-ui,Php,Kendo Ui,我想在剑道用户界面中使用php进行服务器端分页,所以有人知道怎么做吗? 我在网格中有do like serverpaging=true。对于服务器端逻辑,我需要选择哪个页码,这样我就可以计算每个页面的like pagenumber*并通过查询获得记录。 但如何将所选页码传递给服务器端呢 var crudServiceBaseUrl = "<?=base_url()?>", dataSource = new kendo.data.DataSource(

我想在剑道用户界面中使用php进行服务器端分页,所以有人知道怎么做吗? 我在网格中有do like serverpaging=true。对于服务器端逻辑,我需要选择哪个页码,这样我就可以计算每个页面的like pagenumber*并通过查询获得记录。 但如何将所选页码传递给服务器端呢

var crudServiceBaseUrl = "<?=base_url()?>",
                 dataSource = new kendo.data.DataSource({
                   transport: {
                    read:  {
                        url: crudServiceBaseUrl+"did_grid_list",
                        type:"GET",
                        dataType: "jsonp"
                    },
 serverPaging: true,
 pageSize: 20,
                schema: {
                    total: function(data) { console.log(10034); return 10034; },
                    model: {
                          id: "id",     
                        fields: {
                            did: { validation: { required: true,max:9 } },
                                }
                               }
                             }
                         });
var crudServiceBaseUrl=“”,
dataSource=新建kendo.data.dataSource({
运输:{
阅读:{
url:crudServiceBaseUrl+“did_网格_列表”,
键入:“获取”,
数据类型:“jsonp”
},
对,,
页面大小:20,
模式:{
总计:函数(数据){console.log(10034);返回10034;},
型号:{
id:“id”,
字段:{
did:{验证:{必需:true,max:9},
}
}
}
});
上面的代码是我的视图文件。控制器端是这样的

$json_data = array();
            $count_all = count($this->dids_model->did_get($action));    
        $page_no = $_GET['page']; 

        $json_data['page'] = $page_no;          
        $json_data['total'] = ($count_all>0) ? $count_all : 0;

         $perpage = 20;
         $start = ($page_no-1) * $perpage;
         if($start < 0 )
         $start = 0;
                $result = $this->dids_model->did_get($action,$start,$perpage);
$json_data=array();
$count_all=count($this->dids_model->did_get($action));
$page\u no=$\u GET['page'];
$json_数据['page']=$page_编号;
$json_data['total']=($count_all>0)?$count_all:0;
每页$20;
$start=($page_no-1)*$perpage;
如果($start<0)
$start=0;
$result=$this->dids_model->did_get($action,$start,$perpage);
请查看文档。它显示了您将在请求中收到的参数,涉及:

  • take
    :包含要检索的记录数
  • skip
    :从数据集前端开始读取多少条记录
  • 页面
    :当前数据页面的索引
  • pageSize
    :每页的记录数

  • 我已经打印了$\u GET,但是我没有这个参数。那么你能解释一下我如何在服务器端得到这个值吗?你是否在数据源定义中设置了
    serverPaging:true
    pageSize:10
    ?你能在问题中包括到目前为止你有什么,我来看看吗?是的,我已经设置了。但是正如你所说的参数呃,这就是我如何在服务器端获取的方法。我使用的是php。所以我有get方法,但上面的参数不是默认值。您介意将您到目前为止所拥有的添加到原始问题或JSFIDLE中吗?我将对此进行研究。请参阅我的原始问题。在$\u get['page'中]没有得到任何信息。pageSize没有被发送的问题是因为您的平衡括号不正确。您(至少在上面的代码中)缺少一个用于关闭
    传输的“}”,就在
    服务器分页:true之前,
    我已经在我的真实代码中更正了。我刚刚在这里输入了所选代码。缺少y one}。使用“}”您仍然无法在服务器中获取参数?您无法获取。我刚刚打印了$\u get,但没有打印。