一个简单的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> ...
随机推荐
- uvm_config_db在UVM验证环境中的应用
如何在有效的使用uvm_config_db来搭建uvm验证环境对于许多验证团队来说仍然是一个挑战.一些验证团队完全避免使用它,这样就不能够有效利用它带来的好处:另一些验证团队却过多的使用它,这让验证环 ...
- 关于PHP数据库mysql的一些案例
案例1:查询select 使用php连接数据库class9, 获取数据库的表student中的信息, 然后输出到页面上(用表格套住) <?php header("Content-typ ...
- 工作中遇到的一道SQL应用题
登录日志表 CREATE TABLE [dbo].[LoginLog]([Seq] [int] NOT NULL IDENTITY(1, 1), --Seq[UserId] [varchar] (2 ...
- nginx配置样例
简单的nginx配置如下,包含了静态文件配置.websocket.socket.io的配置: user nobody; worker_processes 3; #master_process off; ...
- 面向对象(基础oop)之属性与构造函数
大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开 ...
- 撩课-Web大前端每天5道面试题-Day4
1. 如何实现瀑布流? 瀑布流布局的原理: ) 瀑布流布局要求要进行布置的元素等宽, 然后计算元素的宽度, 与浏览器宽度之比,得到需要布置的列数; ) 创建一个数组,长度为列数, 里面的值为已布置元素 ...
- Linux下一个最简单的不依赖第三库的的C程序(2)
一个最简单的C程序,如下: main.c: int main() { char *str = "Hello World"; ; } 在64位平台上编译一个32位的程序,如下:(32 ...
- HBase入门教程
# 背景 最近看到公司一个项目用到hbase, 之前也一直想看下hbase.个人理解Hbase作为一个nosql数据库,逻辑模型感觉跟关系型数据库有点类似.一个table,有row即行,列.不过列是一 ...
- K:汉诺塔问题
相关介绍: 汉诺塔问题是一个通过隐式使用递归栈来进行实现的一个经典问题,该问题最早的发明人是法国数学家爱德华·卢卡斯.传说印度某间寺院有三根柱子,上串64个金盘.寺院里的僧侣依照一个古老的预言,以上 ...
- UOJ#316. 【NOI2017】泳池
传送门 一道 \(DP\) 好题 设 \(q\) 为一个块合法的概率 套路一恰好为 \(k\) 的概率不好算,算小于等于 \(k\) 的减去小于等于 \(k-1\) 的 那么设 \(f_i\) 表示宽 ...