为什么我的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 $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.页;
}
}
搜索页的我就给一部分吧。
//search1.php是搜索页
下面是搜索页的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 $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.页;
}
}