PHP+mysql实现分页功能

本文详细介绍如何使用PHP和MySQL实现分页功能,包括核心代码和mysql的limit方法解析,适合初学者快速掌握分页技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP+mysql实现分页功能

核心代码

如果这里看懂了,下面就不用看啦.

我这里用到的是 $_GET[] 方法 -->从<form action=‘链接’ ]中.

如【下面的代码复制黏贴,稍微修改一下就可以输出】
html:

<form id="form1" name="form1" method="post" 
action="get1.php?page=1">
    
    	code...
    	
</form>

php(get1.php):

<?php 

   $currentPage = $_GET['page']; // 当前页面=GET方法得到的 page 的值

   $allPageNum = getPageNum(); // 函数(这里暂且不写实现方法), 返回的是总页数

  	for ($i=1; $i <=$allPageNum ; $i++) { // i=1 循环到页数完毕,也就是<= $allPageNum 
		
		if($i == $currentPage){ // 如果等于当前页数
			echo ' ['.$currentPage.'] '; // 因为是当前页面就不用跳转了,不用设置<a href=''>属性
			continue; // 下个循环
		}// end if
		
	echo ' <a href="get.php?page='.$i.'">'.$i.'</a> ';
	
	}// end for

?>

假设 allPageNum =8;currentPage=3;
输出结果:
1 2 [3] 4 5 6 7 8


<?php
// 先设置获取页数,页数容量的函数

	function getPageContain(){  // Function 获取页数容量
		$pageContainNum = 3; // 设置一页显示多少内容
		return $pageContainNum; // 返回页数容量
	}
	
	
	function getPageNum($all){ // Function 获取总页数 
	// $all 是总的数据容量-- 我是通过遍历数据库得到.
	
		$pageContentNum = getPageContain(); // 获取页数容量
		$page = ceil($all/$pageContentNum); //页数 = 向上原整【 (内容总数) /(页面容量) 】 

		return $page; // 返回页数
	}

?>

<?php

// 此段代码可以忽视 -- 获取总数的
    $sql ='select * from comment where id='.$id;
	$res = $db->query($sql) or die('no search'. $sql);
	$num=0;// 总数
	foreach ($res as $row) {
		++$num; // 获取所有条数
	}
// 此段代码可以忽视 -- 获取总数的

	
	// 获取总页数
	$page = getPageNum($num);	 // $num -- 总数据数量
	// 获取当前页数(开头讲到的方法)	
	$currentPage = $_GET['page']; 
	//获取页数容纳的数量
	$pageContentNum = getPageContain();
	
	/*
	当前页的开始输出的条数 =
	页数容纳的数量*(当前页数-1)*/
	$pageFirst = 
	$pageContentNum*($currentPage-1);	
	
	/*
	这一句的解说在下面
	[mysql 用limit方法的详解]
	*/
	$sql = 'select * from comment where id="'.$id.
	'" limit '.$pageFirst.','.$pageContentNum;
	$res = $db->query($sql); // 遍历数据库
?>

mysql 用limit方法的详解(摘自网络)

mysql中用limit 进行分页:
例1,假设数据库表student存在13条数据。
代码示例:
语句1:select * from student limit 9,4

语句1返回表student的第10、11、12、13行 ,第一个参数表示从该参数的下一条数据开始,第二个参数表示每次返回的数据条数。

结语:
我是使用mysql和php配合生成页数的
,所以只要掌握了
[1]php自身生成页面的核心代码
[2]mysql用limit方法
再加点自己的基础,就可以写出来了。毕竟核心代码都在这里,不懂也我没办法啦。


这是本人第一次写教程, 之前搜索PHP分页代码一直不懂啊。。 当时是被第一个,php自身生成页面的核心代码所困扰,其实就是$_GET[]方法没学好,然后导致一窍不通,找了源码分析了半天…

废话不多说,如果有什么问题,我很热意解答!
如有什么错误,请大家指出,我会加以修改.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值