一个简单的php分页逻辑
php分页
<?php
include 'backend/conn.php'; $html = '<ul>'; //输出的html
$pageDataNum=3; //每页显示10行
$pageCount=0; //页数
$currentIndex=1;//当前第几页
$dataNum = 0; //数据条数
$curentDataIndex = 0; //当前第几行数据
$pre = 0; //上一页页数
$nex = 0; //下一页页数
$preImageName = ''; //是否到页码开始的尽头
$nexImageName = ''; //是否到页码结尾的尽头 $page = isset($_REQUEST['page'])?$_REQUEST['page']:1;
$page = daddslashes($page); $sql = "select count(1) as countNum from GsSpecialArticle";
$result = mysql_query($sql) or die(mysql_error());
if($row = mysql_fetch_object($result)){
$dataNum=$row->countNum;
}
$pageCount = ceil($dataNum/$pageDataNum);
$curentDataIndex = ($page-1) * $pageDataNum;
$curentDataIndex = $curentDataIndex > $dataNum ? ($curentDataIndex-$pageDataNum) : $curentDataIndex; $sql = "select * from GsSpecialArticle order by CreateTime desc limit ".$curentDataIndex.','.$pageDataNum.';';
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_object($result)){
$html.='<li>'.substr($row->CreateTime,0,10).'</span>'.'<span class="title"><a href="01maincontent.html?id=14&subId=17&specialId='.$row->Id.'">'.$row->ArticleTitle.'</span></a></li>';
} $pre = $page - 1;
$pre = $pre < 1 ? 1 : $pre;
$nex = $page + 1;
$nex = $nex > $pageCount ? $pageCount : $nex; $html .= '</ul><ul id="pages">'; if($page == 1){
$html .= '<li><span><image alt="" src="data:images/page_frist1.png"></image></span>
<span><image alt="" src="data:images/page_prev1.png"></image></span></span>';
for($i=1;$i<=$pageCount;$i++){
if(abs($i-$page)<7){
if($i == $page){
$html .= '<span style="color:red;">'.$i.'</span>';
}
else{
$html .= '<span><a href="#anchor" onclick="ChangePage('.$i.')">'.$i.'</image></a></span>';
}
}
}
$html .= '<span><a href="#anchor" onclick="ChangePage('.$nex.')"><image alt="" src="data:images/page_next.png"></image></a></span>
<span><a href="#anchor" onclick="ChangePage('.$pageCount.')"><image alt="" src="data:images/page_last.png"></image></a></span></li>';
}
else if($page == $pageCount){
//echo $page.'</br>';
//echo $pageCount.'</br>';
$html .= '<li><span><a href="#anchor" onclick="ChangePage(1)"><image alt="" src="data:images/page_frist.png"></image></a></span>
<span><a href="#anchor" onclick="ChangePage('.$pre.')"><image alt="" src="data:images/page_prev'.$preImageName.'.png"></image></a></span>';
for($i=1;$i<=$pageCount;$i++){
if(abs($i-$page)<7){
if($i == $page){
$html .= '<span style="color:red;">'.$i.'</span>';
}
else{
$html .= '<span><a href="#anchor" onclick="ChangePage('.$i.')">'.$i.'</image></a></span>';
}
}
}
$html .= '<span><image alt="" src="data:images/page_next1.png"></image></span><span><image alt="" src="data:images/page_last1.png"></image></span></li>';
}
else{
$html .= '<li><span><a href="#anchor" onclick="ChangePage(1)"><image alt="" src="data:images/page_frist.png"></image></a></span>
<span><a href="#anchor" onclick="ChangePage('.$pre.')"><image alt="" src="data:images/page_prev.png"></image></a></span>';
for($i=1; $i<=$pageCount ; $i++){
if(abs($i-$page)<4){
if($i == $page){
$html .= '<span style="color:red;">'.$i.'</span>';
}
else{
$html .= '<span><a href="#anchor" onclick="ChangePage('.$i.')">'.$i.'</image></a></span>';
}
}
}
$html .= '<span><a href="#anchor" onclick="ChangePage('.$nex.')"><image alt="" src="data:images/page_next.png"></image></a></span>
<span><a href="#anchor" onclick="ChangePage('.$pageCount.')"><image alt="" src="data:images/page_last.png"></image></a></span></li>';
} $html .= '</ul>'; echo $html;
?>
function ChangePage(page){
window.location.href = "01maincontent.html?id=14&subId=17&page="+page;
}
一个简单的php分页逻辑的更多相关文章
- 一个简单的php分页类代码(转载)
入门级php分页类 原文地址:http://www.xfcodes.com/php/fenye/3608.htm 时间:2015-12-16 20:52:00来源:网络 php分页类. 复制代码代码如 ...
- 一个简单的CI分页类
[php] view plaincopy <span style="font-size:16px;">/** * * 关于 页码有效性的判断需要加在 控制器中判断,即当 ...
- 简单的beego分页功能代码
一个简单的beego分页小插件(源代码在最下面): 支持条件查询 支持参数保留 支持自定义css样式 支持表/视图 支持参数自定义 默认为pno 支持定义生成链接的个数 使用方式: 1)action中 ...
- 计算机程序的思维逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库
57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但 ...
- asp.net mvc4+mysql做一个简单分页组件(部分视图)
在开始做mysql分页功能组件前,便设定的是要有一定可复用性.先在项目里Views文件夹下右键新建名为_PaginationComponent.cshtml,这里html及css我采用的bootstr ...
- 只是一个用EF写的一个简单的分页方法而已
只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...
- PHP分页初探 一个最简单的PHP分页代码实现
PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...
- PHP分页初探 一个最简单的PHP分页代码的简单实现
PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...
- asp.net core下一个简单的分页技术
在做web应用的时候免不了要对数据进行分页,我最近在做asp.net core的开发的时候就遇到了这个需求,现在简单的记录一下: public class PaginatedList<T> ...
随机推荐
- javaweb 实现跨域
现在的一个web应用会涉及到多个地方的restAPi的调用,传统的jsonp虽然支持跨域,但是只是支持get请求. 传统的ajax请求是不支持跨域的,是为了安全考虑. 跨域的思路是跟http机制有关, ...
- InnoDB的后台线程(IO线程,master线程,锁监控线程,错误监控线程)和内存(缓冲池,重做日志缓冲池,额外内存池)
InnoDB有多个内存块,你可以认为这些内存块组成了一个大的内存池,负责如下工作: 维护所有进程/线程需要访问的多个内部数据结构. 缓存磁盘上的数据,方便快速地读取,并且在对磁盘文件的数据进行修改之前 ...
- tomcat原理解析(二):整体架构
一 整体结构 前面tomcat实现原理(一)里面描述了整个tomcat接受一个http请求的简单处理,这里面我们讲下整个tomcat的架构,以便对整体结构有宏观的了解.tomat里面由很多个容器结合在 ...
- i.mx6 Android5.1.1 初始化流程之框架
Android启动过程分为以下几个步骤: 1. Boot ROM: 上电后启动芯片固话代码. 2. BootLoader:固话代码会根据启动模式启动bootloader,(一般为启动引脚的电平的 ...
- IOS项目之分层MVVM
在做.Net时,有用到三层架构,使项目分层.ios项目使用AFNetWork把网络层这块也放进了ViewController中,数据解析缓存这些也在里面,这样层次结构可能不够清楚,今天就试着分离了一下 ...
- OpenStack 组成 架构
Components of OpenStack OpenStack is on a mission: to provide scalable, elastic cloud computing for ...
- [转]WxEmojiView
本文转自:https://github.com/icindy/WxEmojiView 来源信息 author: Di (微信小程序开发工程师) organization: WeAppDev(微信小程序 ...
- [转] 常用的sql server规范
常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自增长标识建议采用bigi ...
- SQL 事务与锁
了解事务和锁 事务:保持逻辑数据一致性与可恢复性,必不可少的利器. 锁:多用户访问同一数据库资源时,对访问的先后次序权限管理的一种机制,没有他事务或许将会一塌糊涂,不能保证数据的安全正确读写. 死锁: ...
- POJ 1258(最小生成树+知识)
用kruskal算法,利用w[i]给r[i]间接排序,从而r[i]可以按照边大小保存序号,同时要判断是否在一个集合里面 #include <cstdio> #include <ios ...