Home > php教程 > php手册 > body text

PHP分页

WBOY
Release: 2016-06-21 08:48:28
Original
1202 people have browsed it

今天在工作之余写的一段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);
		?>
Copy after login

分页处理函数 showbbsProcess.php
<?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();
}
Copy after login

与数据库沟通的函数 showbbs_fun.php
<?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;
}
Copy after login

数据库类 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='';
	}
}
Copy after login



Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template