一个简单的php分页逻辑

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: php分页     function ChangePage(page){ window.location.href = "01maincontent.html?id=14&subId=17&page="+page; }               ...

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="images/page_frist1.png"></image></span>
    <span><image alt="" src="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="images/page_next.png"></image></a></span>
    <span><a href="#anchor" onclick="ChangePage('.$pageCount.')"><image alt="" src="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="images/page_frist.png"></image></a></span>
    <span><a href="#anchor" onclick="ChangePage('.$pre.')"><image alt="" src="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="images/page_next1.png"></image></span><span><image alt="" src="images/page_last1.png"></image></span></li>';
}
else{
    $html .= '<li><span><a href="#anchor" onclick="ChangePage(1)"><image alt="" src="images/page_frist.png"></image></a></span>
    <span><a href="#anchor" onclick="ChangePage('.$pre.')"><image alt="" src="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="images/page_next.png"></image></a></span>
    <span><a href="#anchor" onclick="ChangePage('.$pageCount.')"><image alt="" src="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;
}

 

 

 

 

 

 

 

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
|
安全 Java PHP
PHP/JAVA交易所系统开发(成熟案例)丨需求步骤丨指南详细丨方案逻辑丨逻辑教程丨源码功能
An exchange refers to an institution or platform that provides a centralized market for buying and selling transactions, where participants can trade various assets, such as securities, commodities, cryptocurrencies, etc. Exchanges provide market infrastructure and rules to facilitate compliant, saf
|
1天前
|
前端开发 PHP
10 PHP结合bootstrap完成分页
路老师分享了如何使用PHP实现CSDN问答列表的分页功能。首先,通过编写 `index.php` 文件,定义数据和分页逻辑。接着,安装 Composer 并配置 PHP 包管理工具,以引入 `jasongrimes/paginator` 分页插件。最后,展示分页效果并确保代码路径正确。下篇将介绍 PHP 和 Web 页面的交互。
5 0
|
4月前
|
算法 PHP
【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码
【php经典算法】冒泡排序,冒泡排序原理,冒泡排序执行逻辑,执行过程,执行结果 代码
32 1
|
5月前
|
PHP
原生php制作分页函数
原生php制作分页函数
35 0
|
6月前
|
SQL 前端开发 PHP
【PHP开发专栏】PHP分页功能的设计与实现
【4月更文挑战第29天】本文介绍了PHP实现分页功能,包括设计逻辑(用户界面和后端处理)、SQL查询优化和前端展示。后端通过计算页码和偏移量进行数据查询,前端展示分页信息并处理用户交互。优化点有使用索引、LIMIT语句和避免子查询。此外,还提到了无限滚动、AJAX分页和分页大小选择等高级功能,以提升用户体验。
70 0
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql 分页数据案例
PHP 原生操作 Mysql 分页数据案例
133 1
|
自然语言处理 安全 Java
JAVA丨PHP交易所源码,JAVA/PHP交易所系统开发稳定版/多语言/海外版/多版本/成熟技术/方案详细/逻辑功能/规则案例
Identify requirements and design the system: Clarify your business requirements and design the architecture and functionality of the system. This includes determining the supported transaction types, user authentication, transaction matching engines, order management, fund management, etc.
|
前端开发 JavaScript PHP
php使用mPDF实战案例分析字符串太长时文本变小无法自动分页的解决方案
php使用mPDF实战案例分析字符串太长时文本变小无法自动分页的解决方案
228 0
|
PHP 开发者
PHP实现一个简单的事件逻辑
很多被广泛使用的CMS,之所以被这么多人应用,就是因为他们的插件机制,可以实现丰富多彩的功能。而插件机制很大程度依赖于事件,在一些关键位置触发事件,可以方便二次开发,并且不更改系统核心代码。
下一篇
无影云桌面