我定义了一个类来输出的 下面是类属性...最后是搜索页
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 "查询出错"."<br>";
}else{
echo "无数据"."<br>";
}
return;
}
$cols = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
echo "<img src=".$row['Image']." />";
echo "<br/>";
}
}
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 "<br/>";
echo "<a href='?page=1'>首页</a>丨";
echo "<a href='?page=".($this->page - 1)."'>上一页</a>丨";
echo "<a href='?page=".($this->page + 1)."'>下一页</a>丨";
echo "<a href='?page=".$this->page_num."'>尾页</a>丨";
echo "共有".$this->page_num."页丨";
echo "当前第".$this->page."页";
}
}
搜索页的我就给一部分吧。
<form id="search_form" method="post" action="search1.php"> //search1.php是搜索页
<input type="text" id="search" value="城市、景点" onFocus="this.value=''" style="color:#ccc" name="search"/>
<input type="submit" id="s_search" value="搜索" name="Submit" onClick="return check(form)"/>
</form>
下面是搜索页的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 "<font color='red'>您搜索的信息不存在,请使用类似的关键字进行检索!</font>";
}
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 "<br/>";
echo "<a href='?page=1'>首页</a>丨";
echo "<a href='?page=".($this->page - 1)."'>上一页</a>丨";
echo "<a href='?page=".($this->page + 1)."'>下一页</a>丨";
echo "<a href='?page=".$this->page_num."'>尾页</a>丨";
echo "共有".$this->page_num."页丨";
echo "当前第".$this->page."页";
}
}