我有一个设备数据库。该数据库中有972个不同的项目。包括图像url、资产编号、标题、描述、运输重量等。我有一个php脚本,可以为每个项目创建一个表。但是,我不希望所有972项都加载在一个页面上。有没有一种方法可以使用PHP来设置它,使它每10个项目或表创建一个新页面,其中包含接下来的10个项目,然后创建另一个页面,再创建一个页面直到达到最后一个项目?我必须在星期五把网站介绍给我的老板。如有任何帮助,我们将不胜感激!
要使用PHP/MMySQL进行分页,需要执行以下操作:
- 通过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");