PHP中搜索结果分页的几种方法
因为在点击分页链接时表单数据不会传递会丢失而导致分页链接无效 解决的方法有几种。 第一种是用网站管理软件把搜索结果生成静态页面并保存一段时间。 第二种是考虑用session传递搜索信息。 当搜索信息表单提交并验证之后开启session. session_start(); $_SESSION[keywords] = $X; $_SESSION[searchscope] = $Y; ... //赋值搜索信息。关键字、搜索范围等等 在搜索结果页面开启session得到搜索信息再提交就行了 session_start(); $keywords=$_SESSION[keywords]; $searchscope$_SESSION[searchscope]; 第三种是用数据库存储搜索信息。
成都创新互联公司长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为扶绥企业提供专业的网站设计制作、成都网站设计,扶绥网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
PHP显示很多数据库信息,如何自动分页呢?代码
PHP代码如下:
/*
Author:默默
Date :2006-12-03
*/
$page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
$num=10; //每页显示10条数据
$db=mysql_connect("host","name","pass"); //创建数据库连接
$select=mysql_select_db("db",$db); //选择要操作的数据库
/*
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是
总数据数除以每页显示的条数,有余进一。
也就是说10/3=3.3333=4 有余数就要进一。
*/
$total=mysql_num_rows(mysql_query("select id from table")); //查询数据的总数,id是数据库中的一个自动赋值的字段
$pagenum=ceil($total/$num); //获得总页数
//假如传入的页数参数大于总页数,则显示错误信息
If($page$pagenum || $page == 0){
Echo "Error : Can Not Found The page .";
Exit;
}
$offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。
$info=mysql_query("select name from table limit $offset,$num"); //获取相应页数所需要显示的数据,name是数据里的一个字段
While($it=mysql_fetch_array($info)){
Echo $it['name']."
";
} //显示数据
For($i=1;$i=$pagenum;$i++){
$show=($i!=$page)?"$i":"$i";
Echo $show." ";
}
/*显示分页信息,假如是当页则显示粗体的数字,其余的页数则为超连接,假如当前为第三页则显示如下
1 2 3 4 5 6
*/
?
PHP搜索分页
上下页 sql搜索时候用limit限制最好事先 或者 是 between。
至于,调用你的函数,,就在主程序中先用sql调出db的结果,这是你数据库的类,再把sql的查询结果条数和分页结合。
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搜索数据库分页 php分页类
文章转载:http://lswzjz.com/article/dohoedg.html