我们上一节课给大家讲述了新闻列表的功能制作,上节课中我们新闻列表页下面有一个分页功能!那么我们今天就来给大家介绍一下关于分页实现的制作过程!

首先我们创建一个php文件page.php,这个文件里面我们放制作分页的代码!

第一步:一样,就是连接数据库!// 显示所有的错误

error_reporting(E_ALL & ~E_NOTICE  );

// 连接mysql数据库

$link = mysqli_connect('localhost','root', 'root');

if (!$link) {

echo "connect mysql error!";

exit();

}

// 选中数据库 news为数据库的名字

$db_selected = mysqli_select_db($link, 'news');

if (!$db_selected) {

echo "
selected db error!";

exit();

}

// 设置mysql字符集 为 utf8

$link->query("set names utf8");

第二步:分页功能的实现,在哪个列表里我们就需要查询哪个数据表,我们是新闻的分页,那么我们SQL语句就要查新闻的表// 查询新闻表中的数据

$sql = "select * from new where 1 "; // 查询语句

$sql_count =  "select count(*) as amount from new where 1 "; // 统计总记录数

$sql .= "order by id asc";

接着就是获取总记录条数:// 获取总记录条数

$result_amount = mysqli_query($link, $sql_count);

$arr_amount = mysqli_fetch_array(mysqli_query($link, $sql_count), MYSQL_ASSOC);

// 总记录条数

$amount = $arr_amount['amount'];

然后设置总页数,以及总页码// 每页的记录条数

$page_size = 4;

// 总页码

$max_page = ceil( $amount / $page_size );

大家都知道分页有个公式算法,我们就根据这个公式来计算上一页,下一页,尾页!// 获取当前页码

$page = intval($_GET['page']); // 获取page值,并转成int

if( $page <= 0 || $page > $max_page){  // 如果page值小于0,或是大于最大页码

$page = 1;

}

// 上一页

$pre_page = $page -1;

if( $pre_page

$pre_page = 1;

}

// 下一页

$next_page = $page + 1;

if( $next_page > $max_page ){ // 如果下一页大于最大页码

$next_page = $max_page;

}

// 分页计算, 计算分页的offset

$offset = ($page - 1 ) * $page_size;

$sql .= " limit $offset, $page_size ";

到这里我们的分页代码就写完了,然后在新闻列表页 引入这个分页文件<?php

include_once "../common/page.php";

?>

最后在新闻列表页的下面找到分页的位置,输出分页

首页

if( $page > 1 ){

?>

">上一页

}

if( $page

?>

">下一页

}

?>

">末页

/  总页码 <?php  echo $max_page;?>页 当前页码 <?php  echo $page;?>页

OK!分页就制作完成了!

说明:这里我的可能有点麻烦,大家也可以在网站下载分页类,然后直接调用!但是你要知道分页实现的原理~

php 新闻分页,php原生开发新闻站之新闻列表分页相关推荐

  1. Flutter开发之《网易新闻客户端Flutter混合开发实践》笔记(52)

    摘自:网易新闻客户端Flutter混合开发实践 引言 网易新闻项目本身很庞大,业务繁多,全部改为Flutter实现肯定是不现实的,在使用Flutter的前期阶段,我们挑选了相对独立的几个模块,在现有工 ...

  2. 新闻资讯小程序开发实践

    新闻资讯小程序开发实践 在腾讯小程序上线一周年之际,公司又决定把App产品部分内容在小程序上实现.就在小程序刚上线的时候,公司也有一款产品进行了小程序的研发,但后续没有持续的维护.这过了一年的时间,微 ...

  3. 雪狐新闻APP全程实战开发(Vue+ThinkPHP5+APICloud)

    雪狐新闻APP全程实战开发(Vue+ThinkPHP5+APICloud) 课程介绍 利用thinkphp5独家研发的新闻系统,结合apicloud和vue.js来开发属于自己的新闻app.PHP开发 ...

  4. IOS开发简易的网易新闻页面

    IOS开发简易的网易新闻页面 这是简易的网易新闻,使用swift语法去写的 git 仓库地址: https://e.coding.net/lujun1/wangyijianyixinwenswiftb ...

  5. IOS开发基础之网易新闻UICollectionView的使用第3天

    IOS开发基础之网易新闻UICollectionView的使用第3天 由于第3天的UICollectionView 并不实现,我查阅相关资料,也没解决,先从本地的plist加载的数据,不是网络的上的数 ...

  6. IOS开发基础之网易新闻JSON转模型数组第2天

    IOS开发基础之网易新闻JSON转模型数组第2天 // // HMHeadline.h // 01-网易新闻搭建 // // Created by 鲁军 on 2021/4/11. //#import ...

  7. IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天

    IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天 视频资料是2015年的,但是AFN是导入框架的关键文件,我尝试使用cocoapods安装最新的AFN,虽然成功了,但是版本太高, ...

  8. mysql创建新闻发布时间_基于PHP+mysql实现新闻发布系统的开发

    新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...

  9. php新闻表怎么分页,新闻列表分页类求助

    新闻列表分页类求助 include("conn.php"); $sql="select * from news_content order by news_id Desc ...

最新文章

  1. 信息系统项目管理师-信息系统综合测试与管理核心知识思维脑图
  2. (大纲)三小时学会openCV
  3. 七、Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程(上)
  4. DWR第四篇之对象传参
  5. SpringCloud的Hystrix(五) Hystrix机制
  6. Photoshop插件-HDR(二)-脚本开发-PS插件
  7. 史上最全正则表达式语法,文末附常用表达式!
  8. 如何成为优秀的程序员?
  9. 感觉中国程序员前景一片灰暗,是这样吗?Android开发工程师为你答疑解惑
  10. android 仿ios数字密码解锁界面
  11. 抖音直播运营分析:深入解读直播带货运营那些专业术语
  12. 苹果ANCS协议分析
  13. 棋牌游戏开发过程中遇到的困难 如何解决
  14. Tableau中国地图
  15. Android 利用MediaPlayer实现音乐播放
  16. KMP算法求循环节,为什么能求循环节
  17. 查询oracle表空间是否满了,oracle表空间满了,导致数据不能写入数据库
  18. java小型超市系统_Java小型超市收银系统
  19. 如何实现get接口与post接口转换,get接口与post接口如何转换
  20. R 绘制渐变中国地图及添加南海九段图

热门文章

  1. EM算法(1)—— 彻底理解EM算法推导
  2. mmap函数映射物理地址失败指针全F问题解决
  3. 曙光超算平台操作之深度学习
  4. md文件撰写使用格式
  5. 安装MinGW win安装gcc
  6. JAVA 开发人工智能
  7. c4d-摄像机工具与环境工具-8
  8. 三相永磁同步电机(PMSM) 单矢量、占空比、双矢量电流预测控制 MATLA b仿真算法
  9. 笔记本计算机死机,一起可笑的笔记本电脑死机故障
  10. 假设计算机工作频率为5Mhz,医用超声探头-医学影像设备-电子发烧友网站