speedphp中spPager分页问题

#1 dcb110

function check_leave(){
        $message_leave=spClass('message_leave');
        $userName=$_REQUEST['userName'];
        $sql="select * from message_leave a WHERE a.userName='{$userName}'";
        //$page=$this->spArgs('page');
        $q= $message_leave->spPager($this->spArgs('page', 1), 5)->findSql($sql);
        $this->results =$q;
// 这里获取分页数据并发送到smarty模板内
        $result= $message_leave->spPager()->getPager();
        $this->pager=$result;
        $this->display('message/check_leave.html');}
但是在模板中分页只显示第一页的内容,切换到第二页时没有内容

2016-05-06 16:46:46

#2 jake

dump检查一下第二页有没有传上来page参数

2016-05-06 17:10:58

#3 dcb110

jake 发表于 2016-5-6 17:10
dump检查一下第二页有没有传上来page参数
有;点击第二页的时候在controller中能接受的page参数值为2
$page=$this->spArgs('page')
dump($page)可以看到值为2。
同理当我把$q= $message_leave->spPager($this->spArgs('page', 2), 5)->findSql($sql);的时候能显示第二页内容但是点击上一页的时候第一页的内容就为空。


2016-05-06 21:15:16

#4 jake

恩,这里有两个步骤建议你检查的:问题肯定在于条件传递少了,猜想应该是userName没传。

1. dumpSql出来看看SQL语句执行的情况,看看。

2. 检查一下点击后的页面,所有必要的参数有没有全。

2016-05-06 21:46:58

#5 dcb110

恩,弄好了,是因为userName的值在分页的时候没有传递过来。谢谢老大了:lol:lol:lol:lol

2016-05-07 13:50:55