按页面降序排序表头,而不对整个数据库表

时间:2015-10-12 16:25:49

标签: php cakephp

我想知道如何仅在该页面中对表头进行排序而不对整个表进行排序。这可能在cakephp中有可能吗?请给我看一些示例代码。我的观点是

    <?php
                    echo   $url = $this->Paginator->sort('ID', 'id',array('direction' => 'desc'));
                    $arrow = getArrow($url);
                  ?>

This is my Controller:

$this->paginate = Set::merge($this->paginate, array('OrderFinalized' => array(


                        'limit'=>4,
                        'conditions' => $condition_ary,
                                'joins' => array(
                                    array(
                                        'table' => 'order_entry_headers',
                                        'alias' => 'OrderEntryHeaders2',
                                        'type' => 'inner',
                                        'foreignKey' => false,
                                        'conditions' => array('OrderEntryHeaders2.id = OrderFinalized.order_entry_headers_id'),

                                            'order' => array(
'OrderEntryHeaders2.id'=> 'desc'
 )
                ),

这是查询:

$result = $this->OrderEntryHeader->query("SELECT (value+1) as val FROM order_entries_seq ORDER BY OrderEntryHeader.id desc ");

当我对第一页降序排序时,我从数据库table得到最后的结果。我想只排序该页面的结果。导航时不应该改变。

现在姓名(第1页)ASC
     1 A.      2 B.      3 C.      4 D

DESC ID名称        4 D.        3 C.        2 B.        1 A

1 个答案:

答案 0 :(得分:1)

您想要的是从数据库中检索数据然后使用排序。最简单的方法是使用JavaScript。

您需要像

这样的前端/客户端表格分类器

http://tablesorter.com/docs/#Demo

  

是否仍然可以使用sort函数?

可以在CakePHP中,在array sort

中制作afterFind method