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