【问题标题】:Use PHP to create new pages? [closed]使用 PHP 创建新页面? [关闭]
【发布时间】:2013-12-12 00:34:54
【问题描述】:
我有一个设备数据库。该数据库中有 972 个不同的项目。包括图像 url、资产编号、标题、描述、运输重量等。我有一个 php 脚本,它为每个项目创建一个表。但是,我不希望将所有 972 个项目都加载到一页上。有没有办法使用 PHP 来设置它,以便每 10 个项目或表格创建一个新页面,其中包含接下来的 10 个项目,然后是另一个页面,然后是另一个页面,直到它到达最后一个项目?星期五我必须把网站介绍给我的老板。任何帮助将不胜感激!
【问题讨论】:
标签:
php
mysql
database
navigation
pagination
【解决方案1】:
要使用 PHP/MySQL 进行分页,您需要执行以下操作:
- 提供通过 URL 查询字符串请求的页面(例如
?page=1)
- 在 SQL 查询中使用 LIMIT 和 OFFSET 来显示不同的“页面”
- 维护查询的 ORDER BY 部分,以便每个页面上的结果顺序相同
- (可选)具有确定最后一页是什么的机制,并防止查看超出该最后一页的页面。
为了让您走上正轨,您的代码应如下所示:
$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");