Model-1模式的分页逻辑

在Model-1模式的项目中,分页功能的设计简单明了。要点包括统一用户输入提交方式、使用同一数据接口以简化管理、确保逻辑处理合理,并采用分层思想。文中提供具体的分页逻辑代码。

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

在做项目的时候需要一个分页的功能,感觉还是需要的蛮多的,所以在Model-1的模式下,对分页逻辑的设计相对还是比较简单的。

需要注意的方面是:1;接收用户的输入,建议同一种提交方法。

    2:建议数据的接口用同一个,便于管理

    3:逻辑的处理一定要合理。

    4:采用分层的思想方法更有利于开发。

下面是分页逻辑的具体代码:

<?php 
		$conn=mysql_connect("localhost","root","toor");
		mysql_query("set names utf-8");
		mysql_select_db("empmanage",$conn);
		$pageNow=1;
		$pageCount=0;
		$pageSize=10;
		$rowCount=0;
		$sql="select count(id) from emp";
		$res1=mysql_query($sql);
		if($row=mysql_fetch_row($res1)){
			$rowCount=$row[0];//取出共有多少行数据
		}
		$pageCount=ceil($rowCount/$pageSize);//计算共有多少页
		
		
		/********************************************************这里就是一个分页引擎*********************************/
		$pageNow=$_GET['pageNow'];
		//判断用户是否为首次进入页面,是默认第一页
		if(empty($pageNow)){
			$pageNow=1;
		}
		/**************************************************************END***********************************************/
		
		/*********************************************************显示系统*********************************************/
		$sql="select * from emp limit ".($pageNow-1)*$pageSize.",$pageSize";
		$res2=mysql_query($sql,$conn);
		/*数据内嵌到表格**********************/
		echo "<table width='700px' align='center' border='1px' cellpadding='10px' cellspacing='0px'>";
		echo "<tr><th>id</th><th>name</th><th>garde</th><th>email</th><th>salary</th><th>修改用户</th><th>删除该用户</th></tr>";
		while($row=mysql_fetch_assoc($res2)){
			echo "<tr align='center'><td>{$row['id']}</td><td>{$row['name']}</td><td>{$row['garde']}</td><td>{$row['email']}</td><td>{$row['salary']}</td>"
					."<td><a href='#???'>修改用户</a></td><td><a href='#???'>删除该用户</a></td></tr>";
		}
		echo "</table>";
		/****************************************************************END************************************************/
		/*
		for($i=1; $i<=$pageCount; $i++){
			echo "<a href='empList.php?pageNow=$i'>".$i."页"."</a>";
			echo " "; 
		}*/
		
		
		/****************************************************************分页区选项*******************************************/
		echo "<a href='empList.php?pageNow=1'>首页</a> ";
		if($pageNow>1){
			$prepage=$pageNow-1;
			echo "<a href='empList.php?pageNow=$prepage'>上一页</a> ";
		}
		if($pageNow<$pageCount){
			$nextpage=$pageNow+1;
			echo "<a href='empList.php?pageNow=$nextpage'>下一页</a> ";
		}
		echo "<a href='empList.php?pageNow=$pageCount'>尾页</a> ";
		$pageNowCut=$pageNow-$pageSize;
		echo "<a href='empList.php?pageNow=$pageNowCut'><<</a> ";
		//这里犯了一个错误,其实在这里显示的size个数与连接内容已经存在关系,不必继续判断
		for($i=1; $i <= $pageSize; $i++){
			$pageNum=$i+$pageNow;
			if($pageNum<=$pageCount){
					echo "<a href='empList.php?pageNow=$pageNum'>"."[$pageNum]"."页"."</a>";
					echo " ";
			}
		}
		$pageNowAdd=$pageNow-$pageSize;
		echo "<a href='empList.php?pageNow=$pageNowAdd'>>></a> ";
		echo "当前页".$pageNow."/共有".$pageCount."页";
		echo "<br/><br/><br/>";
	?>
	<!-- 经测试,提交方式必须为GET,与上面同一个地方接收,也不会发生逻辑混乱 -->
	<form action="empList" method="GET">
		跳转到<input type="text" name="pageNow">
		<input type="submit" value="GO">
	</form>
	<!-- *********************************************************************END******************************* -->
	<?php
		mysql_free_result($res2);
		mysql_close($conn);
	?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值