封装的类: ?php /********************************************* 类名: PageSupport 功能:分页显示MySQL数据库中的数据 ***********************************************/ class PageSupport{ //属性 var $sql; //所要显示数
<?php /********************************************* 类名: PageSupport 功能:分页显示MySQL数据库中的数据 ***********************************************/ class PageSupport{ //属性 var $sql; //所要显示数据的SQL查询语句 var $page_size; //每页显示最多行数 var $start_index; //所要显示记录的首行序号 var $total_records; //记录总数 var $current_records; //本页读取的记录数 var $result; //读出的结果 var $total_pages; //总页数 var $current_page; //当前页数 var $display_count = 30; //显示的前几页和后几页数 var $arr_page_query; //数组,包含分页显示需要传递的参数 var $first; var $prev; var $next; var $last; //方法 /********************************************* 构造函数:__construct() 输入参数: $ppage_size:每页显示最多行数 ***********************************************/ function PageSupport($ppage_size) { $this->page_size=$ppage_size; $this->start_index=0; } /********************************************* 构造函数:__destruct() 输入参数: ***********************************************/ function __destruct() { } /********************************************* get函数:__get() ***********************************************/ function __get($property_name) { if(isset($this->$property_name)) { return($this->$property_name); } else { return(NULL); } } /********************************************* set函数:__set() ***********************************************/ function __set($property_name, $value) { $this->$property_name = $value; } /********************************************* 函数名:read_data 功能: 根据SQL查询语句从表中读取相应的记录 返回值:属性二维数组result[记录号][字段名] ***********************************************/ function read_data() { $psql=$this->sql; //查询数据,数据库链接等信息应在类调用的外部实现 $result=mysql_query($psql) or die(mysql_error()); $this->total_records=mysql_num_rows($result); //利用LIMIT关键字获取本页所要显示的记录 if($this->total_records>0) { $this->start_index = ($this->current_page-1)*$this->page_size; $psql=$psql. " LIMIT ".$this->start_index." , ".$this->page_size; $result=mysql_query($psql) or die(mysql_error()); $this->current_records=mysql_num_rows($result); //将查询结果放在result数组中 $i=0; while($row=mysql_fetch_Array($result)) { $this->result[$i]=$row; $i++; } } //获取总页数、当前页信息 $this->total_pages=ceil($this->total_records/$this->page_size); $this->first=1; $this->prev=$this->current_page-1; $this->next=$this->current_page+1; $this->last=$this->total_pages; } /********************************************* 函数名:standard_navigate() 功能: 显示首页、下页、上页、未页 ***********************************************/ function standard_navigate() { echo "<div align=center>"; echo "<form action=".$_SERVER['PHP_SELF']." method=\"get\">"; echo "<font color = red size ='4'>第".$this->current_page."页/共".$this->total_pages."页</font>"; echo " "; echo "跳到<input type=\"text\" size=\Ř\" name=\"current_page\" value='".$this->current_page."'/>页"; echo "<input type=\"submit\" value=\"提交\"/>"; //生成导航链接 if ($this->current_page > 1) { echo "<A href=".$_SERVER['PHP_SELF']."?current_page=".$this->first.">首页</A>|"; echo "<A href=".$_SERVER['PHP_SELF']."?current_page=".$this->prev.">上一页</A>|"; } if( $this->current_page < $this->total_pages) { echo "<A href=".$_SERVER['PHP_SELF']."?current_page=".$this->next.">下一页</A>|"; echo "<A href=".$_SERVER['PHP_SELF']."?current_page=".$this->last.">末页</A>"; } echo "</form>"; echo "</div>"; } /********************************************* 函数名:full_navigate() 功能: 显示首页、下页、上页、未页 生成导航链接 如1 2 3 ... 10 11 ***********************************************/ function full_navigate() { echo "<div align=center>"; echo "<form action=".$_SERVER['PHP_SELF']." method=\"get\">"; echo "<font color = red size ='4'>第".$this->current_page."页/共".$this->total_pages."页</font>"; echo " "; echo "跳到<input type=\"text\" size=\Ř\" name=\"current_page\" value='".$this->current_page."'/>页"; echo "<input type=\"submit\" value=\"提交\"/>"; //生成导航链接 如1 2 3 ... 10 11 $front_start = 1; if($this->current_page > $this->display_count){ $front_start = $this->current_page - $this->display_count; } for($i=$front_start;$i<$this->current_page;$i++){ echo "<a href=".$_SERVER['PHP_SELF']."?page=".$i.">[".$i ."]</a> "; } echo "[".$this->current_page."]"; $displayCount = $this->display_count; if($this->total_pages > $displayCount&&($this->current_page+$displayCount)<$this->total_pages){ $displayCount = $this->current_page+$displayCount; }else{ $displayCount = $this->total_pages; } for($i=$this->current_page+1;$i<=$displayCount;$i++){ echo "<a href=".$_SERVER['PHP_SELF']."?current_page=".$i.">[".$i ."]</a> "; } //生成导航链接 if ($this->current_page > 1) { echo "<A href=".$_SERVER['PHP_SELF']."?current_page=".$this->first.">首页</A>|"; echo "<A href=".$_SERVER['PHP_SELF']."?current_page=".$this->prev.">上一页</A>|"; } if( $this->current_page < $this->total_pages) { echo "<A href=".$_SERVER['PHP_SELF']."?current_page=".$this->next.">下一页</A>|"; echo "<A href=".$_SERVER['PHP_SELF']."?current_page=".$this->last.">末页</A>"; } echo "</form>"; echo "</div>"; } } ?>
写在php页面里面的代码:
<div class="index"> <?php include_once("fenye_php.php"); //引入类 /////////////////////////////////////////////////////////////////////// $con = mysql_connect("localhost","root",""); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("myblog", $con); //选取数据库 $PAGE_SIZE=10; //设置每页显示的数目 /////////////////////////////////////////////////////////////////////// $pageSupport = new PageSupport($PAGE_SIZE); //实例化PageSupport对象 $current_page=$_GET["current_page"];//分页当前页数 if (isset($current_page)) { $pageSupport->__set("current_page",$current_page); } else { $pageSupport->__set("current_page",1); } $pageSupport->__set("sql","select * from article "); $pageSupport->read_data();//读数据 if ($pageSupport->current_records > 0) //如果数据不为空,则组装数据 { for ($i=0; $i<$pageSupport->current_records; $i++) { $title = $pageSupport->result[$i]["title"]; $content = $pageSupport->result[$i]["content"]; $part=substr($content,0,400); //循环输出每条数据 echo '<div class="index_side"> <div class="index_title">'.$title.'</div> <div class="index_content">'.$part.'</div> <div class="index_button"> <a href="#">update</a> <a href="#">delet</a> </div> </div>'; } } $pageSupport->standard_navigate(); //调用类里面的这个函数,显示出分页HTML //关闭数据库 mysql_close($con); ?> </div>来自:http://blog.csdn.net/phpfenghuo/article/details/23207099