所以我有一个包含 45 条记录的表(但可以是动态的),我使用 mysql_fetch_array() 从数据库中获取数据。一次输出 5 条记录的最佳方法是什么?所以我需要做记录 1-5,然后有记录 6-10、11-15 等的链接。我想过用 array_chunk 做点什么,但不知道如何跟踪记录号。感谢您的提示。
问问题
812 次
3 回答
0
您在查询中需要 LIMIT 0,5。在网上搜索 php 分页器。
于 2012-11-30T02:13:41.773 回答
0
我建议在您的查询中使用限制和增量偏移量。您的第一个查询将是:
select * from TABLE limit 0,5;
您的链接有一个引用下一个偏移量的参数,因此下一个查询将是:
select * from TABLE limit 5,5;
等等。
于 2012-11-30T02:14:19.677 回答
0
要从表格中获取前 5 个结果:
table
从ORDER BY 中 选择 *table
。column_name
升速限制 0, 5
- 从“表”中选择
- 按列名升序排序
- 限制 0,5 选择前 5 个结果,从 0 开始。
将 LIMIT 0,5 更改为 5,5 以列出结果 6-10(从记录 5 开始,并继续 5 条记录。)
订购只是确保一致性的好习惯。在大多数情况下,如果您有一个自动递增的“id”列,请将其设置为“id”。如果您希望结果按日期排序,请按时间戳列排序。如果要反转数据,请按 DESC 排序。
您可以通过 PHP 会话、传递 GET 参数、临时数据库表以及我可能错过的其他一些方法来跟踪查询的位置。
其他解决方案:
使用从 mysql_fetch_array() 返回的数组并使用http://php.net/manual/en/language.types.array.php
这种方法的明显缺点是它会获取表中的所有行。如果您的行数永远不会超过可管理的数量,这没关系。在您的情况下,假设它们不是巨大的行,45 应该没问题。如果您想要预加载数据,这种方法也可能有用。
于 2012-11-30T02:25:53.490 回答