首页 > 代码库 > php分页
php分页
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <!--?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
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <!--?php function showCenter($CurrentPageID,$PageSize=5,$connectmysql){ $arr=showbbs($PageSize, $CurrentPageID, $connectmysql); foreach ($arr as $values){ for ($i=0;$i<count($arr);$i++){ echo ‘‘.$arr[$i][‘title‘].‘‘.‘ ‘.‘<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 "上一页"; }
//向前跳页 if ($CurrentPageID > 2){ echo " <<< "; }
//输出详细的页数,如:【1】 for ($j=1;$j<=$PageCount;$j++){ echo "[$j]"; }
//向后跳页 if ($CurrentPageID <= ($PageCount-2)){ echo " >>> "; }
//当为最后一页时不输出“下一页” if ($CurrentPageID != $PageCount){ echo "下一页"; }
$connectmysql->closeConn(); } |
与数据库沟通的函数 showbbs_fun.php
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!--?php require_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
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | <!--?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=‘‘; } } |