thinkphp 分页查询 只能显示第一页,点击第二页就什么也没有,跳转到searchfaild页面了怎么回事啊

这是代码
//获取搜索关键字
$searchtext = $this->_post ( 'searchtext' );
// 实例化视图模型
$Book = D ( "BookDictionaryView" );
//导入分页类
import('ORG.Util.Page');
// 查询条件
$condition ['bookname'] = $searchtext;
$condition ['bookauthor'] = $searchtext;
$condition ['_logic'] = 'OR';
//记录总数
$count = $Book->where ( $condition )->count ();
$Page = new Page($count);
$list = $Book->where ($condition)->limit($Page->firstRow.','.$Page->listRows)->select();
$show = $Page->show();
// 显示搜索结果
if ($count) {
$this->assign ( 'list', $list );
$this->assign('page',$show);
$this->display ();
} else {
$this->redirect ( 'Search/searchfaild', array (), 0 );

}

你这个主要是靠的post来传值的吧,而分页是a标签,没办法传个post数据过去,这样的话$searchtext就没值,那么判断$count肯定会到else那里。追问

恩恩 我觉得是参数传不过去了,那要怎么改啊

追答

把post方式改成get方式就好了吧,表单和控制器都得改一下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-19
$User = M('User'); // 实例化User对象
import('ORG.Util.Page');// 导入分页类
$count = $User->where('status=1')->count();// 查询满足要求的总记录数
$Page = new Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select();
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display(); // 输出模板

你用不到判断$count追问

这不是问题,我不判断$count,可它的第二页照样输出不出来啊

相似回答