douba3943 2015-05-11 13:30
浏览 37

Ajax Pagination cakePHP 3.0

I 've a search filter in a view A, users can choose some values for the research. I want to display the results of the research, without reloading the page, at the bottom of the view in a table.

In a view A, I'va the search filter. In the same view, I'm doing this ajax call :

var tab = new Array();
    function updateResult(){
            $.ajax({
                type:"POST",
                url:"<?php echo Router::url(array('controller'=>'AController','action'=>'index'));?>",
                data : {dataFVariables: $("select[name='filtreVariable\\[\\]']").map(function(){return $(this).val();}).get()},
                dataType: 'json',
                async:false,
                success: function(tab){
                    ..........
                    // Creating a table with the data in 'tab'
                    ..........
                },
                error: function (tab) {
                    alert('error');
                }
            });
    }

In the action 'index' of my controller, I retrieve a lot of data from the database. With this data, I create a table but the pagination doesn't work on this table.. Indeed, in my controller, I do :

        .............
   $this->paginate($query);

   // the data send to the ajax call
   echo json_encode($query);

The results are in the first page of my table but there is nothing in the others pages.

Thank you in advance !!

  • 写回答

1条回答 默认 最新

  • douke7274 2015-05-11 13:55
    关注

    First Add in your controller :

    $condition=array();    
    $this->paginate = array('conditions' => $condition, 'limit'=>'2');
    $users = $this->paginate('YourModelName');
    $this->set(compact('users'));
    

    Then add this code in your corresponding ctp file :

    <tr><td><?php echo $this->Paginator->prev('<< ' . __('previous', true), array(), null, array('class'=>'disabled'));?></td>
            <td><?php echo $this->Paginator->numbers(array(   'class' => 'numbers'     ));?></td>
            <td><?php echo $this->Paginator->next(__('next', true) . ' >>', array(), null, array('class' => 'disabled'));?></td> 
            <td colspan="4"></td></tr>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加