php - 使用 PHP 创建新页面?

标签 php mysql database navigation pagination

我有一个设备数据库。该数据库中有 972 个不同的项目。包括图像 url、 Assets 编号、标题、描述、运输重量等。我有一个 php 脚本,可以为每个项目创建一个表。但是,我不希望所有 972 个项目都加载在一页上。有没有办法使用 PHP 进行设置,以便每 10 个项目或表格创建一个新页面,其中包含接下来的 10 个项目,然后是另一个页面,然后是另一个页面,直到到达最后一个项目?星期五我必须向我的老板展示该网站。任何帮助将不胜感激!

最佳答案

要使用 PHP/MySQL 进行分页,您需要执行以下操作:

  1. 提供通过 URL 查询字符串请求的页面(例如 ?page=1)
  2. 在 SQL 查询中使用 LIMIT 和 OFFSET 来显示不同的“页面”
  3. 维护查询的 ORDER BY 部分,以便结果在每个页面上的顺序相同
  4. 可以选择采用一种机制来确定最后一页是什么,并防止查看最后一页以外的页面。

为了让您走上正轨,您的代码应如下所示:

$limit = 10; // This never changes
$page = $_GET['page'];
if(!$page || !is_numeric($page) || $page < 1) {
    $page = 1;
}
$offset = ($page - 1) * $limit; // Start at record 10 instead of record 0
$results = $my_db_object->getResults("SELECT * FROM equipment ORDER BY id LIMIT $limit OFFSET $offset");

关于php - 使用 PHP 创建新页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532827/

相关文章:

mysql - 如何在mysql中找到小id和大id

java - 测试后 DBUnit 回滚

mysql - 如何根据值将多行转换为多列

php - 使用 MySQL 的 TIMESTAMP 与直接存储时间戳

javascript - ajax(PHP 和 Javascript)出现问题 - 如何正确传输?

php - 我如何将此数组转换为可用的 javascript 数组?

php - 按最大值对查询结果进行排序(结果从最大值到最小值)

php - 我如何在 PHP 中访问类实例的父级?

php - 将 phpinfo() 转换/提取到 php.ini

java - 当另一个不使用 hibernate 的应用程序保存数据时,是否可以从表中检索数据?