一个简单的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> ...
随机推荐
- "text"和new String("text")的区别
转自:What is the difference between “text” and new String(“text”)? new String("text"); expli ...
- 【很重要】优秀的常用的js库
http://lodashjs.com/docs/ 常用的各种工具库 sprintf 字符串格式 占位符替换等处理 devices.min.js
- Linux NTP时间服务器
NTP 时间服务器 ntp也是一种协议 ntp软件(支持ntp协议) CentOS6自带 CentOS7需要安装 chrony软件(支持ntp协议) CentOS7自带 安装ntp CentOS ...
- 八、window搭建spark + IDEA开发环境
本文将简单搭建一个spark的开发环境,如下: 1)操作系统:window os 2)IDEA开发工具以及scala插件(IDEA和插件版本要对应): 2-1)IDEA2018.2.1:https:/ ...
- Hbase配置指南
注意点 Hbase 需要zookeeper. Hbase 需要在各个节点的机器上配置. 集群中的启动顺序是Hadoop.zookeeper 和Hbase 搭建步骤 解压安装文件并配置环境变量. exp ...
- Java Future源码分析
JDK future框架,提供了一种异步编程模式,基于线程池的.将任务runnable/callable提交到线程池executor,返回一个Future对象.通过future.get()获取执行结果 ...
- python 实现websocket
python中websocket需要我们自己实现握手代码,流程是这样:服务端启动websocket服务,并监听.当客户端连接过来时,(需要我们自己实现)服务端就接收客户端的请求数据,拿到请求头,根据请 ...
- 3.springioc bean 的几个属性
1.lazy-init="false" 默认值为false,指的是bean的创建时机的spring容器一启动就会加载这些类.有点是及时发现bean的相关错误,因为spring容器启 ...
- Zookeeper + Guava loading cache 实现分布式缓存
1. 概述 项目中,创建的活动内容存入redis,然后需要用到活动内容的地方,从redis去取,然后参与计算. 活动数据的一个特点是更新不频繁.数据量不大.因为项目部署一般是多机器.多实例,除了red ...
- 旋转/非旋转treap的简单操作
treap(树堆) 是在二叉搜索树的基础上,通过维护随机附加域,使其满足堆性质,从而使树相对平衡的二叉树: 为什么可以这样呢? 因为在维护堆的时候可以同时保证搜索树的性质: (比如当一棵树的一个域满足 ...