php分页代码及总结
代码部分:
<?PHP
header("Content-type:text/html;charset=utf-8");
$pageSize = 10;
//接收传入的分页码
$page = $_GET['p'];
//获取分页数据
$host = "localhost";
$username = "root";
$password = "";
$db = "lian";
$conn = mysql_connect($host,$username,$password);
if(!$conn){
echo "连接错误";
exit;
}
mysql_select_db($db);
mysql_query("SET NAMES UTF8");
$sql= "select * from page LIMIT ".(($page-1)*$pageSize).",".$pageSize;
$result = mysql_query($sql);
echo "<table border=1 cellspacing=0 width=40%>";
echo "<tr><td>id</td><td>name</td></tr>";
while($row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>".$row['id']."</td>";
echo "<td>".$row['name']."</td>";
echo "</tr>";
}
echo "</table>";
mysql_free_result($result);
$total_sql = "SELECT COUNT(*) FROM page";
$total_result = mysql_fetch_array(mysql_query($total_sql));
$total = $total_result[0];
$total_pages = ceil($total/$pageSize);
$showPage = 7;
$pageOffset = ($showPage-1)/2;
$start = 1;
$end = $total_pages;
mysql_close($conn);
//显示数据和分页
$page_banner = "";
if($page > 1){
$page_banner = "<a href='".$_SERVER['PHP_SELF']."?p=1'>首页</a>";
$page_banner .= "<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一页</a>";
}
if($total_pages > $page){
if($page > ($pageOffset+1)&&$page < ($total_pages-2)){
$start = $page - $pageOffset;
$end = $page + $pageOffset;
}else if($page <= ($pageOffset+1)){
$start = 1;
$end = 7;
}else{
$start = $total_pages-6;
$end = $total_pages;
}
}else{
$start = 1;
$end = $total_pages;
}
for($i = $start;$i<=$end;$i++){
if($page == $i){
$page_banner .= "<span style='color:red'>".$i."</span>";
}else{
$page_banner .= "<a href='".$_SERVER['PHP_SELF']."?p=".$i."'>".$i."</a>";
}
}
if($page < $total_pages){
$page_banner .= "<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一页</a>";
$page_banner .= "<a href='".$_SERVER['PHP_SELF']."?p=".($total_pages)."'>尾页</a>";
}
$page_banner .="共有".$total_pages."页";
$page_banner .="<form action='page.php' method='get'>";
$page_banner .="到第<input type='text' name='p' size='2'>页去";
$page_banner .="<input type='submit' value='确定'>";
$page_banner .="</form>";
echo $page_banner;
?>
总结部分:
1,接收传入的显示页面指令参数($page)
2,连接数据库利用sql语句从数据库取出数据,主要是select * from 表名 limit 开始位置,每页显示的条数
其中要注意limit后一定要放一个空格
3,从数据库查出总条数,ceil()函数操作总条数/每页显示的条数计算出总页数,其中ceil()是向上取整
4,前一页是$page-1,后一页是$page+1,首页是1,尾页是总页数
5,跳转到哪一页用一个表单传参即可
6,最重要的是显示页码,根据一个页面中显示几个页码、偏移量、总页数和一个页面中显示的页码数比较从而确定
页面中显示的第一个页码和最后一个页码,遍历输出所有要显示的页码。
php分页代码及总结的更多相关文章
- Oracle中经典分页代码!
在Oracle中因为没有top关键字,所以在sqlserver中的分页代码并不适用于Oracle,那么在Oracle中如何来实现分页呢? --查询所有数据 STUNO STUNAME STUAGE S ...
- 纯js分页代码(简洁实用)
纯js写的分页代码. 复制代码代码如下: //每页显示字数 PageSize=5000; //分页模式 flag=2;//1:根据字数自动分页 2:根据[NextPage]分页 //默认页 start ...
- PHP分页初探 一个最简单的PHP分页代码实现
PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...
- JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox
1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生 ...
- PHP分页初探 一个最简单的PHP分页代码的简单实现
PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...
- Sql万能分页代码
sql数据库中常用的分页 我做了一个万能的 用的上的小伙伴拿去耍吧 go ----万能分页代码create procedure [dbo].[sp_datapager] @pagesize int, ...
- java常用公共代码二之分页代码的实现
在项目中,我们经常会写到一些公共的代码,来让开发人员调用,减少代码重复,下面,我就将一些常用到的公共类贴出来和大家分享!! 二.分页代码实现:在项目中,分页是一个项目中必不可少的,它可以防止我们从数据 ...
- 分页技巧_改进JSP页面中的公共分页代码_实现分页时可以有自定义的过滤与排序条件
分页技巧__改进JSP页面中的公共分页代码 自定义过滤条件问题 只有一个url地址不一样写了很多行代码 public>>pageView.jspf添加 分页技巧__实现分页时可以有自定义的 ...
- 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页
Service: /** * @Description: 1.保存定区 2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...
- angular.js分页代码的实例
对于大多数web应用来说显示项目列表是一种很常见的任务.通常情况下,我们的数据会比较多,无法很好地显示在单个页面中.在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能.现在 ...
随机推荐
- grep的用法(CentOS7)及有关正则表达式的使用
环境准备:alias grep="grep --color" 1.grep以整行为单位进行处理,行中有的匹配显示出来 Last中取出符合root的行:grep '查找字符串' l ...
- QT子窗口及停靠实现
Demo的效果 头文件中的变量声明 //退出动作 QAction* exit; //菜单栏菜单 QMenu* filemenu; QMenu* actiona; //在状态栏的标签控件 QLabel* ...
- 从0起步 BI 第一课
收集 BI 学习资料(了解,书籍,示例demo) 专业人士: http://www.cnblogs.com/aspnetx/p/3189029.html http://www.flybi.net/ h ...
- location对象介绍
Location 对象 Location 对象 Location 对象包含有关当前 URL 的信息. Location 对象是 Window 对象的一个部分,可通过 window.location 属 ...
- 基于Go实现的秒杀系统
这是基于Go语言的一个秒杀系统,这个系统分三层,接入层.逻辑层.管理层.项目源码:https://github.com/BlueSimle/SecKill 系统架构图 秒杀接入层 从Etcd中加载秒杀 ...
- UVaLive 4731 Cellular Network (期望DP)
题意:手机在蜂窝网络中的定位是一个基本问题,假设蜂窝网络已经得知手机处于c1,c2,,,cn这些区域中的一个,最简单的方法是同时在这些区域中寻找手机, 但这样做很浪费带宽,由于蜂窝网络中可以得知手机在 ...
- 牛客月赛 G-many sum(筛因子)
many sum 链接:https://ac.nowcoder.com/acm/contest/879/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K, ...
- HDU - 1078 FatMouse and Cheese(记忆化+dfs)
FatMouse and Cheese FatMouse has stored some cheese in a city. The city can be considered as a squar ...
- Unity手游引擎安全解析及实践
近日,由Unity主办的"Unity技术开放日"在广州成功举办,网易移动安全技术专家卓辉作为特邀嘉宾同现场400名游戏开发者分享了网易在手游安全所积累的经验.当下,很多手游背后都存 ...
- cf791B(完全图&dfs)
题目链接:http://codeforces.com/contest/791/problem/B 题意:给出一个无向图,问是否满足若存在边ab, bc则存在边ac: 思路:题意即,对于一个点,其所有子 ...