Model-1模式的分页逻辑

来源:互联网 发布:genbank数据库记录 编辑:程序博客网 时间:2024/06/05 10:35

在做项目的时候需要一个分页的功能,感觉还是需要的蛮多的,所以在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******************************* --><?phpmysql_free_result($res2);mysql_close($conn);?>


0 0