本文目录一览:
php 搜索结果分页问题
第二页没管用 是搜索的值传递没跟过去 你把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 "pre";
//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();
}
php 中如何实现将查找结果并分页显示?
第一个问题、你是不是已经会把结果整页显示了?我下面假释你已经会了,否则说不清楚。
第二个问题、你用的什么数据?我下面假释你用的MYSQL,其它数据库可能要可能稍微麻烦一点。
假释你的查询程序是query.php,现在要修改query.php程序,在前面增加一个检测$p_num参数值的语句,并用这个语句控制SQL查询语句,一般结构如下:
$p_size=20;//这个你可以自己定,表示没也显示多少条
$p_num+=0;//如果没有此参数表示显示第0页
$start_num=$p_num * $p_size;//计算从第几条查询结果中开始显示
$sql="select ... from ... where ...";//你自己的构造查询语句的代码
$sql.="limit $start_num , $p_size";//添加SQL语句取数据的限制,表示从$start_num开始取$p_size条查询结果
在查询结果显示完毕以后,需要显示各页的连接,也可以放在查询结果显示之前,代码如下:
//$num_tottal为总共满足条件的数据条数,$p_total为总共页数,你自己完成计算
$url="query.php?基本查询条件";
for ($i=0;$i=$p_total;$i++)
echo "a href='$urlp_num=$i'".($i+1)."/a";
php对查询多个表的结果分页
最佳解决方法是修改数据库结构,new, source, topic为什么要分表呢。建议增加all_aritlce表,然后把new,source,topic作为一个字段(比如type字段)的值,如果每个类型有一些特殊的字段,可以连接自己的子表,公共字段放在主表就好了。