写在php页面里面的代码:
- <?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>";
- }
- }
- ?>
来自:http://blog.csdn.net/phpfenghuo/article/details/23207099
- <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://www.phpxs.com/code/1003205/