首页 > 编程语言 >php新闻分页代码

php新闻分页代码

时间:2023-06-03 11:12:26浏览次数:43  
标签:分页 新闻 代码 echo result php 链接 page

以下是一个简单的 PHP 新闻分页代码示例:

<?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "news";

    // 创建连接
    $conn = new mysqli($servername, $username, $password, $dbname);
    // 检测连接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }

    // 分页参数
    $page = isset($_GET['page']) ? $_GET['page'] : 1;
    $limit = 10;
    $offset = ($page - 1) * $limit;

    // 查询新闻数据
    $sql = "SELECT * FROM news LIMIT $offset,$limit";
    $result = $conn->query($sql);

    // 显示新闻列表
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            echo "<h2>" . $row["title"]. "</h2><p>" . $row["content"] . "</p>";
        }
    } else {
        echo "没有新闻可显示";
    }

    // 计算总页数和生成分页链接
    $sql = "SELECT COUNT(*) AS total FROM news";
    $result = $conn->query($sql);
    $total = ceil($result->fetch_assoc()['total'] / $limit);

    $prev_page = max(1, $page - 1);
    $next_page = min($total, $page + 1);

    echo "<div style='text-align:center;'>";
    echo "<a href='?page=$prev_page'>上一页</a> ";
    for ($i=1; $i<=$total; $i++) {
        echo "<a href='?page=$i'>$i</a> ";
    }
    echo "<a href='?page=$next_page'>下一页</a>";
    echo "</div>";

    // 关闭连接
    $conn->close();
?>

这个示例中,我们首先建立了一个与 MySQL 数据库的连接。然后,我们定义了分页参数,包括当前页码、每页显示的新闻数量和偏移量。接着,我们查询数据库获取新闻数据,并通过一个循环将其逐一显示出来。

计算总页数和生成分页链接是本例的重点。我们再次查询数据库获取新闻总数,并使用总数和每页显示的新闻数量计算出总页数。然后,我们根据当前页码生成上一页和下一页的链接,并在页面底部显示所有页码的链接。

需要注意的是,我们在生成链接时必须考虑到边界情况。例如,上一页的链接应该在第一页时消失,下一页的链接应该在最后一页时消失。

分页功能对于网站的用户体验至关重要,因为它可以有效地减少页面加载时间和数据传输量。通常情况下,只需要将数据按照某种规则进行分段处理即可实现分页功能。在 PHP 中,我们可以使用 MySQL 的 LIMIT 语句来实现数据分段,同时根据总数和每页显示数量计算出总页数,并为每个页码生成链接即可实现分页。

标签:分页,新闻,代码,echo,result,php,链接,page
From: https://www.cnblogs.com/tuoyuanjishu/p/17453544.html

相关文章

  • php生成圆形图片
    在PHP中生成圆形图片需要用到GD库提供的图像处理函数。以下是一个简单的示例代码://创建一个200x200的正方形画布$image=imagecreatetruecolor(200,200);//生成背景色为白色的正方形$bg_color=imagecolorallocate($image,255,255,255);imagefill($image,0,......
  • 一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询
    一个多功能(聚合)查询接口,实现模糊、分页、主键、排序以及多条件查询前言写的啰嗦了点,看效果请直接忽略中间,直接看后半部分。引个流,公众号:小简聊开发概念瞎编的名字,哈哈哈,我就勉强称之为聚合查询吧,不知道概念符不符合。大家好,我是小简,很久没写文章了,确实是太忙了,今天我......
  • sublime text mac功能强大的代码编辑器
    sublimetextmac(代码编辑器)是一款功能强大的代码编辑器,该软件可以让用户方便的编辑各种格式的程序代码。sublimetext中文版可以在用户自己想要编辑的程序中插入各种格式,还能轻松添加各种变量,参数和方法。让您能够方便快捷地编辑代码,从而将开发工作变得更加高效。sublimetextma......
  • 零代码编程:用ChatGPT将PDF文件的表格批量转为Excel表格
    电脑中有几百个PDF文件,文件内容格式一致,每个PDF文件第一页是一个表格。想把这几百个PDF文件里面的表格都提取出来,转为excel表,该怎么办?打开ChatGPT(一定要用GPT4,编程能力很强。相比之下,gpt3.5弱太多了),输入提示词如下:d盘有一个文件夹:guanlianjiaoyi,里面有很多pdf文件;你的任务是写一个......
  • mac电脑git配置sshKey后不能下拉代码
    配置全局gitconfig--globaluser.name用户名gitconfig--globaluser.email邮箱gitconfig--list//查看配置的用户ssh-keygen-trsa-C248******@qq.com//输入邮箱,一直回车(遇到y/n,选y)ls-al~/.ssh//查看是否生成了私钥,公钥(id_rsa是私钥id_rsa.pub是公钥)......
  • gitlab--不同的 stage 不重新下载代码、GIT_CHECKOUT、制品 artifacts
    介绍在gitlabci中,不同的stage都会重新下载代码,例如下面的.gitlab-ci.ymldefault:image:ruby:2.7.5stages:#运行的阶段顺序-build-test-deploybuild:#job的名称stage:build#阶段的名称script:-ls-l-echo123>test1.txt#在......
  • gitlab--不同的 stage 不重新下载代码、GIT_CHECKOUT、制品 artifacts
    介绍在gitlabci中,不同的stage都会重新下载代码,例如下面的.gitlab-ci.ymldefault:image:ruby:2.7.5stages:#运行的阶段顺序-build-test-deploybuild:#job的名称stage:build#阶段的名称script:-ls-l-echo123>test1.txt#在......
  • R语言APRIORI模型关联规则挖掘分析脑出血急性期用药规律最常配伍可视化|附代码数据
    最近我们被客户要求撰写关于关联规则的研究报告,包括一些图形和统计输出。本文帮助客户运用关联规则方法分析中医治疗脑出血方剂,用Apriori模型挖掘所选用的主要药物及其用药规律,为临床治疗脑出血提供参考脑出血急性期用药数据读取数据a_df3=read.xlsx("脑出血急性期用药最常配伍......
  • PHP 之生成名片二维码与vcard格式
    一、vcard格式BEGIN:VCARDVERSION:3.0FN:样子TEL;CELL;VOICE:18333333333TEL;WORK;VOICE:010-66600000TEL;WORK;FAX:010-66600001EMAIL;PREF;INTERNET:[email protected]:http://baidu.comorG:网络工作室ROLE:技术部TITLE:CTOADR;WORK;POSTAL:北四环中路35号;100101REV:20......
  • php rabbitmq队列的几种管理方案
     这里就懒得记录了,直接放上一篇还不错的知乎博主的博客吧。点击前往  ......