PHP分页

来源:互联网 发布:js粒子运动轨迹 编辑:程序博客网 时间:2024/05/31 18:36
今天在工作之余写的一段PHP分页处理脚本,欢迎拍砖!!!
显示页面 index.php
<?php require_once 'include/showbbsProcess.php';require_once 'include/showbbs_fun.php';@$connectmysql=new connectMysql();if (empty($_GET['CurrentPageID'])){$CurrentPageID=1;//当前是第几页}else {$CurrentPageID=$_GET['CurrentPageID'];}$PageSize=5;echo showCenter($CurrentPageID, $PageSize, $connectmysql);?>

分页处理函数 showbbsProcess.php
<?phpfunction showCenter($CurrentPageID,$PageSize=5,$connectmysql){$arr=showbbs($PageSize, $CurrentPageID, $connectmysql);foreach ($arr as $values){for ($i=0;$i<count($arr);$i++){echo '<a href="#">'.$arr[$i]['title'].'</a>'.' '.'<span style="float:right;font-size:12px;">作者:'.$arr[$i]['poster'].' '.'发布时间:'.$arr[$i]['posted'].'</span><br /><hr />';//如果遍历完$arr数组里的所以元素,即$i($i从0开始)等于数组的元素个数减一,则跳出2层循环(for循环和foreach循环)if ($i==(count($arr)-1))break 2;}}$RowCount=getRowCount($connectmysql);//一共有多少条记录$PageCount=ceil($RowCount/$PageSize);//共有几页,ceil()函数进一取整echo '帖子统计:'.$RowCount.'条'.' '.'共有'.$PageCount.'页 ';//当为第一页时不输出“上一页”if ($CurrentPageID != 1){echo "<a href='index.php?CurrentPageID=".($CurrentPageID-1)."'>上一页</a>";}//向前跳页if ($CurrentPageID > 2){echo "<a href='index.php?CurrentPageID=".($CurrentPageID-2)."'> <<< </a>";}//输出详细的页数,如:【1】for ($j=1;$j<=$PageCount;$j++){echo "<a href='index.php?CurrentPageID=".$j."'>[$j]</a>";}//向后跳页if ($CurrentPageID <= ($PageCount-2)){echo "<a href='index.php?CurrentPageID=".($CurrentPageID+2)."'> >>> </a>";}//当为最后一页时不输出“下一页”if ($CurrentPageID != $PageCount){echo "<a href='index.php?CurrentPageID=".($CurrentPageID+1)."'>下一页</a>";}$connectmysql->closeConn();}

与数据库沟通的函数 showbbs_fun.php
<?phprequire_once '/class/connectMysql.php';//该函数用来获取数据库中的数据并返回一个二维数组function showbbs($PageSize,$CurrentPageID,$connectmysql){$a=($CurrentPageID - 1)*$PageSize;$sql="select * from db_content limit $a,$PageSize";$arr1=$connectmysql->getRowsArray($sql);return $arr1;}//该函数用来查询数据库的表的行数function getRowCount($connectmysql){$sql="select * from db_content";$num=$connectmysql->getRowsNum($sql);return $num;}

数据库类 connectMysql.php
<?php/*** * 这个类用于处理数据库连接相关操作 */class connectMysql{private $host='localhost';private $username='root';private $password='szy19900316';private $dbname='db_caomei';private $conn='';//数据库连接资源private $result='';//查询的结果private $resultArray;//将查询的结果输出为一个单条记录的数组private $rowsArray=array();//含有多条记录的二维数组private $rowsNum=0;//返回的结果数function __construct(){}//连接数据库function conndb(){$this->conn=mysql_connect($this->host,$this->username,$this->password);@mysql_select_db($this->dbname,$this->conn);mysql_query('set names utf-8');}//查询结果function getResult($sql){if ($this->conn==''){$this->conndb();}$this->result=mysql_query($sql,$this->conn);}//返回查询的记录数function getRowsNum($sql){$this->getResult($sql);$num_rows=mysql_num_rows($this->result);if (mysql_errno()==0){return $num_rows;}else {return '';}}//将结果输出为一个单条记录数组并返回function getArray($sql){$this->getResult($sql);if (mysql_errno()==0){$this->resultArray=mysql_fetch_array($this->result,MYSQL_ASSOC);//得到关联数组return $this->resultArray;}else {return '';}}//返回一个含有多条记录的二维数组function getRowsArray($sql){$this->getResult($sql);if (mysql_errno()==0){while ($row=mysql_fetch_array($this->result,MYSQL_ASSOC)){$this->rowsArray[]=$row;}return $this->rowsArray;//print_r($this->rowsArray);exit;}else {return '';}}//更新、添加、删除function uidresult($sql){if ($this->conn==''){$this->conndb();}//echo $sql;//exit;@mysql_query($sql);$this->rowsNum=@mysql_affected_rows();if (mysql_errno()==0){return $this->rowsNum;}else {return '';}}//释放结果集function freeResult(){mysql_free_result($this->result);$this->rowsNum=0;$this->rowsArray='';$this->resultArray='';}//关闭数据库function closeConn(){$this->freeResult();mysql_close($this->conn);$this->conn='';}}

0 0
原创粉丝点击