美文网首页
如何实现分页功能

如何实现分页功能

作者: 游泽渠 | 来源:发表于2016-10-31 10:45 被阅读0次

前沿

这篇文章仅适用于新手
使用语言为PHP
正文


一、基础知识

(一)通过get方式传递参数

与提交表单不同,分页一般都是采用get的方式传递参数,那么get方式是怎么传递参数的呢?大家可以看一下百度


Paste_Image.png

其中"?"后面的指的是参数,那么它传递了ie和wd这两个参数,它们的值分别是utf-8和jianshu。

(二)通过LIMIT关键字获取对应数据

我们在通过SELECT语句获得数据的时候,可以使用SELECT语句限制获取的数据范围,比如说下面的

SELECT * FROM Info LIMIT 5,5

它的意思是从第六条数据开始(从第一条开始获取写LIMIT 0,5),连续获取五条数据,这样就可以动态的控制获取的信息的范围、

二、分页的理论实现

用户在访问需要分页的网页的时候,由用户传递一个要访问的页码,然后我们获取到页码之后,通过sql语句获取对应页码所需要的数据,当用户点击下一页、上一页或者直接的页码的时候,我们就自动的将当前的页码进行改变,然后重新跳转到当前页。

三、代码实现

我们不妨设计一个参数叫做page,这样的话,访问我们的页面就要带上这个参数才行。为了方便观察,每一条数据都是一个字母,从a开始递增。
数据库字段:

Database : Page
--------------------------
|     id     |   info    |
--------------------------

代码部分

<?php
// page.php
<?php
define('PAGE_DATA', 4); // 定义每行五条数据
$mysqli = mysqli_connect('localhost', 'root', 'al3682733', 'Train');
if (mysqli_connect_error()) { // 连接错误
    echo 'Connect Error.<br/>Error Message : ' . mysqli_connect_error();
}
$result = mysqli_query($mysqli, "SELECT count(id) FROM Page"); // 计算数据库中数据量
$data = mysqli_fetch_array($result, MYSQLI_NUM);
$max_page = (int) ($data[0] / PAGE_DATA + ($data[0] % PAGE_DATA ? 1 : 0)); // 计算最大页数
if (isset($_GET['page'])) { // 判断参数是否存在
    $page = $_GET['page'];
    if ($page < 1 || $page > $max_page) { // 判断数据大小是否合法
        $page = 1; // 不合法的情况下默认为1
    }
} else {
    $page = 1; // 参数不存在也默认是1
}
$data_start = ($page - 1) * PAGE_DATA; //开始获取的位置
$result = mysqli_query($mysqli, 
        "SELECT info FROM Page Limit $data_start," . PAGE_DATA); // 获取对应数据
$data = mysqli_fetch_all($result, MYSQLI_NUM);
foreach ($data as $value) {
    echo $value[0] . '<br/>';
}
if ($page > 1) { // 页码大于1
    echo '<a href=page.php?page=' . ($page - 1) . '>上一页</a>';
}
if ($page < $max_page) { // 页码小于最大的页码
    echo '<a href=page.php?page=' . ($page + 1) . '>下一页</a>';
}

相关文章

  • 如何实现分页功能

    前沿 这篇文章仅适用于新手使用语言为PHP正文 一、基础知识 (一)通过get方式传递参数 与提交表单不同,分页一...

  • 分页组件的简单实现(初稿)

    分页功能是后台管理系统中很常见的一个功能,今天我们就来看下如何实现一个简单的分页组件。 初步实现 首先从最简单的情...

  • (14)Django - 分页功能

    Django已为开发者内置了分页功能,只需调用Django内置分页功能的函数即可实现数据分页功能。我们在Djang...

  • 十二、MyBatis实现分页功能

    一、本课目标 掌握MyBatis分页实现 二、MyBatis分页功能实现 需求说明: 为用户管理之查询用户列表功能...

  • flask实现分页

    原文地址数据库实现分页offset:使用offset可以实现数据库分页功能questions = Question...

  • MyBatis分页和动态标签

    MyBatis分页 内存分页 MyBatis提供了RowBounds类实现内存分页功能。其原理是首先根据sql语句...

  • Django自定义分页功能的实现

    前言:本文介绍在Django中如何通过前后端代码实现页面自定义分页功能,详细介绍实现原理,并附实现代码。 实现的功...

  • 如何使用layui实现分页功能

    layui是一款很经典的前端UI框架。因为其功能强大,界面清爽美观,容易上手,深受大家的喜爱。此文主要介绍layu...

  • jfinal利用jsp实现分页功能

    在我的上一篇我已经实现了如何利用jfinal来实现增删改查,接下来是实现分页功能。在jfinal社区有demo,里...

  • Springboot+Mybatis+mysql实现分页查询

    分页功能是一个很常见的功能点,今天用PageHelper实现了简单的分页查询功能,记录下使用过程,供而大家参考. ...

网友评论

      本文标题:如何实现分页功能

      本文链接:https://www.haomeiwen.com/subject/przuuttx.html