PHP中模糊查询后实现分页时,只显示第一页信息,之后的页面信息不显示,求类似问题解决方法最好有代码,谢
2个回答
展开全部
如:select * from tablename where 条件 limit 0,10
这句话的意思是只取搜索到的前10条记录,分页的关键就是要控制limit后面的两个数字
0代表从第0条记录开始,10代表取10条数据(也就是一页里面有几条记录),这条语句相当于是分页的第一页,要获取第二页的语句是:select * from tablename where 条件 limit 10,10,要获取第三页的语句是:select * from tablename where 条件 limit 20,10。以此类推,得到后面的页。当然不可能是手动填写那两个数字,需要用变量控制,如:select * from tablename where 条件 limit $page,$page_size 。具体还需要你动手去实践了,加油吧。
这句话的意思是只取搜索到的前10条记录,分页的关键就是要控制limit后面的两个数字
0代表从第0条记录开始,10代表取10条数据(也就是一页里面有几条记录),这条语句相当于是分页的第一页,要获取第二页的语句是:select * from tablename where 条件 limit 10,10,要获取第三页的语句是:select * from tablename where 条件 limit 20,10。以此类推,得到后面的页。当然不可能是手动填写那两个数字,需要用变量控制,如:select * from tablename where 条件 limit $page,$page_size 。具体还需要你动手去实践了,加油吧。
展开全部
<?php
/**
* 分页类
*/
class Helper_Page{
//这个分页类里边要有几个属性
public $rowCount;//信息总条数
public $pageCount;//总页数
public $listCount;//每页显示条数
public $pageStr;//页面超连接的相关域名
public $rztList;//每页信息结果集
public $nowPage;//当前页码
function __construct($sql,$mysql,$nowPage,$pageStr,$listCount){
//1.获得信息总条数
$mysql -> query($sql);
$this -> rowCount = $mysql -> affected_rows();
//2.让分页类获得当前的页码
$this -> nowPage = $nowPage;
//3.获得总页数【ceil向上取整函数】
$this -> pageCount = ceil($this->rowCount/$listCount);
//4.当前页信息的结果集
$startLimit = ($nowPage-1)*$listCount;
$new_sql = $sql." limit $startLimit,$listCount";
$rzt = $mysql -> getAll($new_sql);
$this -> rztList = $rzt;
//5.将超连接域名地址赋予类属性
$this-> pageStr = $pageStr;
}
/**
* 显示页码列表
* 类似:【首页】【上一页】[1][2][3][4][5][6][7]【下一页】【尾页】
*/
function pageShow(){
$firstPage = "";//首页
$prevPage = "";//上一页
$nextPage = "";//下一页
$endPage = "";//尾页
$listPage = "";//具体页码[1][2][3][4]
//preg_replace('被替换内容','替换内容',目标字符串);
$url = preg_replace('/page=\d+/','',$this->pageStr);
//获得【首页】和【上一页】
if($this -> nowPage > 1){
$firstPage = "<a href='$url&page=1'>【首页】</a>";
$pageOut = $this->nowPage-1;
$prevPage = "<a href='$url&page=$pageOut'>【上一页】</a>";
}
//获得【尾页】和【下一页】
if($this->nowPage < $this->pageCount){
$endPage = "<a href='$url&page=$this->pageCount'>【尾页】</a>";
$pageOut = $this->nowPage+1;
$nextPage = "<a href='$url&page=$pageOut'>【下一页】</a>";
}
//获得具体页码列表[1][2][3][4][5]
for($i=1; $i<=$this->pageCount;$i++){
if($i==$this->nowPage){
$listPage .= "[$i]";
} else {
$listPage .= "<a href='$url&page=$i'>[$i]</a>";
}
}
return $firstPage.$prevPage.$listPage.$nextPage.$endPage;
}
}
?>
/**
* 分页类
*/
class Helper_Page{
//这个分页类里边要有几个属性
public $rowCount;//信息总条数
public $pageCount;//总页数
public $listCount;//每页显示条数
public $pageStr;//页面超连接的相关域名
public $rztList;//每页信息结果集
public $nowPage;//当前页码
function __construct($sql,$mysql,$nowPage,$pageStr,$listCount){
//1.获得信息总条数
$mysql -> query($sql);
$this -> rowCount = $mysql -> affected_rows();
//2.让分页类获得当前的页码
$this -> nowPage = $nowPage;
//3.获得总页数【ceil向上取整函数】
$this -> pageCount = ceil($this->rowCount/$listCount);
//4.当前页信息的结果集
$startLimit = ($nowPage-1)*$listCount;
$new_sql = $sql." limit $startLimit,$listCount";
$rzt = $mysql -> getAll($new_sql);
$this -> rztList = $rzt;
//5.将超连接域名地址赋予类属性
$this-> pageStr = $pageStr;
}
/**
* 显示页码列表
* 类似:【首页】【上一页】[1][2][3][4][5][6][7]【下一页】【尾页】
*/
function pageShow(){
$firstPage = "";//首页
$prevPage = "";//上一页
$nextPage = "";//下一页
$endPage = "";//尾页
$listPage = "";//具体页码[1][2][3][4]
//preg_replace('被替换内容','替换内容',目标字符串);
$url = preg_replace('/page=\d+/','',$this->pageStr);
//获得【首页】和【上一页】
if($this -> nowPage > 1){
$firstPage = "<a href='$url&page=1'>【首页】</a>";
$pageOut = $this->nowPage-1;
$prevPage = "<a href='$url&page=$pageOut'>【上一页】</a>";
}
//获得【尾页】和【下一页】
if($this->nowPage < $this->pageCount){
$endPage = "<a href='$url&page=$this->pageCount'>【尾页】</a>";
$pageOut = $this->nowPage+1;
$nextPage = "<a href='$url&page=$pageOut'>【下一页】</a>";
}
//获得具体页码列表[1][2][3][4][5]
for($i=1; $i<=$this->pageCount;$i++){
if($i==$this->nowPage){
$listPage .= "[$i]";
} else {
$listPage .= "<a href='$url&page=$i'>[$i]</a>";
}
}
return $firstPage.$prevPage.$listPage.$nextPage.$endPage;
}
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询