php 搜索结果分页问题

2024-11-29 23:33:07
推荐回答(2个)
回答1:

第二页没管用 是搜索的值传递没跟过去 你把where里面加 like 我也没测试你的程序 你看看我的这个吧

public function page(){
$User=new NewsModel();
//print_r($User->select()); //关联操作
import("ORG.Util.Page"); // 导入分页类
$map=$_GET[ss];
$count = $User->where("title like '%$map%'")->count(); // 查询满足要求的总记录数
$Page = new Page($count,5); // 实例化分页类 传入总记录数和每页显示的记录数
$list = $User->join("think_type on tid=think_type.id")->where("title like '%$map%'")->limit($Page->firstRow.','.$Page->listRows)->select();
//echo "

";
//print_r($list);
foreach($map as $key=>$val) {

$Page->parameter .= "$key=".urlencode($val)."&";

}
$show = $Page->show(); // 分页显示输出

// 进行分页数据查询 注意limit方法的参数要使用Page类的属性

$this->assign('list',$list); // 赋值数据集

$this->assign("page",$show); // 赋值分页输出

$this->display();

}

回答2:

你的数据库操作给封装到类里面了,这里看不到。
按理应该是SELECT ....... LIMIT $overows, $rowsonpage这样的语句,$overows代表跳过的记录条数(一般$overows = ($page-1)*$rowsonpage,$page是你当前页码),$rowsonpage代表每页最多可显示的记录条数。