原代码如下:
public function index()
{
$article = D('articleView');$where = 1;
if ($kw = I('kw')) {
$where .= ' AND title LIKE "%' . $kw . '%"';
}
$count = $article->count();
$Page = new \Think\Page($count, 15);
$show = $Page->show();
$list = $article->where($where)->order('id DESC')->limit($Page->firstRow . ',' . $Page->listRows)->select();
$this->assign('list', $list);
$this->assign('page', $show);
$this->display();
}
问题在于,如果你有18篇文章,就会有两个分页;但当你进行搜索时,哪怕搜索结果只有一项,分页仍显示为两个分页(第二页为空)
解决方法:基于上面的·代码块加三行代码
$article = D('articleView');$where = 1;
if ($kw = I('kw')) {
$where .= ' AND title LIKE "%' . $kw . '%"';
}
$count = $article->count();
$Page = new \Think\Page($count, 15);
$show = $Page->show();
$list = $article->where($where)->order('id DESC')->limit($Page->firstRow . ',' . $Page->listRows)->select();
$count = $article ->where($where) ->count();
$Page = new\Think\Page($count, 15);
$show = $Page ->show();
$this->assign('list', $list);
$this->assign('page', $show);
$this->display();
可以正常显示搜索候结果的分页了,完成