search

今天在工作之余写的一段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
<?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
<?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
<?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='';
	}
}



Statement
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor