当前位置:Gxlcms > PHP教程 > 为什么小弟我的PHP翻页不能翻到下一页呀?求教

为什么小弟我的PHP翻页不能翻到下一页呀?求教

时间:2021-07-01 10:21:17 帮助过:11人阅读

为什么我的PHP翻页不能翻到下一页呀??求教
我定义了一个类来输出的 下面是类属性...最后是搜索页
include("script/conn.php");
class Page{
private $page; //当前页码
private $page_num; //数据总共分多少页显示
private $page_size; //每页显示的数据条数
private $sql; //查询的SQL语句
private $limit; //查询语句后面的limit控制语句
private $total_Num; //总记录数
public function __construct($sql='',$page_size=3){
$result = mysql_query($sql);
$this->total_Num = mysql_num_rows($result);
$this->page_size = $page_size;
$this->page_num = ceil($this->total_Num / $page_size); //计算总页数
$this->sql = $sql;
$temp = (isset($_GET["page"]) ? $_GET["page"] : 1); //获取当前页数
$this->setpage($temp);
$this->showpage();
$this->showFoot();
}
private function showpage(){
$this->limit = " LIMIT ".(($this->page - 1)* $this->page_size).",".$this->page_size; //limit语句
$result = mysql_query($this->sql.$this->limit);
if (!$result){ //判断结果是否存在
if ($this->page_num > 0){ //如果不存在且页数大于0
echo "查询出错"."
";
}else{
echo "无数据"."
";
}
return;
}
$cols = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
echo "";
echo "
";
}
}
private function setpage($page){
if($page < 1){
$page = 1;
}
else if($page > $this->page_num){
$page = $this->page_num;
}
$this->page = $page;
}
private function showFoot(){
echo "
";
echo "首页丨";
echo "page - 1)."'>上一页丨";
echo "page + 1)."'>下一页丨";
echo "page_num."'>尾页丨";
echo "共有".$this->page_num."页丨";
echo "当前第".$this->page."页";
}
}

搜索页的我就给一部分吧。

下面是搜索页的PHP
include("c.php");//c.php是上面的PHP程序
$keyword=$_POST['search'];
$sql=mysql_query("select * from didian where name like '%$keyword%'");
[email protected]_fetch_object($sql);
if(!$row){
echo "您搜索的信息不存在,请使用类似的关键字进行检索!";
}
if($keyword=='北京'){
$pages = new Page('SELECT * FROM `image_beijing`', 3);
}
代码就这样。。如在类中显示就可以实现翻到下一页,但到搜索页就不能翻页了,只能看到首页,一翻页就什么信息都没,我想问下是什么问题呀。。。求教~~~感谢...
------解决思路----------------------
那我要建议你重写了,把数据库操作部分从类中移去
class Page{
private $page; //当前页码
private $page_num; //数据总共分多少页显示
private $page_size; //每页显示的数据条数
private $sql; //查询的SQL语句
private $total_Num; //总记录数

public $limit; //查询语句后面的limit控制语句

public function __construct($total=100, $page_size=3){
$this->total_Num = $total;
$this->page_size = $page_size;
$this->page_num = ceil($this->total_Num / $page_size); //计算总页数
$temp = (isset($_GET["page"]) ? $_GET["page"] : 1); //获取当前页数
$this->setpage($temp);
$this->showpage();
$this->showFoot();
}
private function showpage(){
$this->limit = " LIMIT ".(($this->page - 1)* $this->page_size).",".$this->page_size; //limit语句
}
private function setpage($page){
if($page < 1){
$page = 1;
}else if($page > $this->page_num){
$page = $this->page_num;
}
$this->page = $page;
}
private function showFoot(){
echo "
";
echo "首页丨";
echo "page - 1)."'>上一页丨";
echo "page + 1)."'>下一页丨";
echo "page_num."'>尾页丨";
echo "共有".$this->page_num."页丨";
echo "当前第".$this->page."页";
}
}

人气教程排行