Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql_fetch_array()并分块输出_Php_Mysql_Arrays_Fetch - Fatal编程技术网

Php mysql_fetch_array()并分块输出

Php mysql_fetch_array()并分块输出,php,mysql,arrays,fetch,Php,Mysql,Arrays,Fetch,因此,我有一个包含45条记录的表(但可以是动态的),我使用mysql_fetch_array()从数据库中获取数据。一次输出5条记录的最佳方式是什么?所以我需要做记录1-5,然后有记录6-10,11-15的链接,等等。我想用array_chunk做点什么,但不确定如何跟踪记录编号。谢谢您的提示。您需要在查询中输入0,5的限制。在web上搜索php paginator。我建议在查询中使用限制和增量偏移量。您的第一个查询将是: select * from TABLE limit 0,5; 链接中有

因此,我有一个包含45条记录的表(但可以是动态的),我使用mysql_fetch_array()从数据库中获取数据。一次输出5条记录的最佳方式是什么?所以我需要做记录1-5,然后有记录6-10,11-15的链接,等等。我想用array_chunk做点什么,但不确定如何跟踪记录编号。谢谢您的提示。

您需要在查询中输入0,5的限制。在web上搜索php paginator。

我建议在查询中使用限制和增量偏移量。您的第一个查询将是:

select * from TABLE limit 0,5;
链接中有一个参数引用下一个偏移量,因此下一个查询将是:

select * from TABLE limit 5,5;

等等

要从表格中获得前5个结果: SELECT * FROM
table
ORDER BY
table
.
column_name
ASC LIMIT 0, 5

  • 从`表中选择`
  • 按列名升序排列
  • 限制0,5选择从0开始的前5个结果
将限制0,5更改为5,5,以列出结果6-10(从记录5开始,然后继续5条记录。)

订购只是确保一致性的良好实践。在大多数情况下,如果您有一个自动递增的“id”列,请将其设置为“id”。如果希望结果按日期排序,请按时间戳列排序。如果要反转数据,请按说明排序

您可以通过PHP会话、传递GET参数、临时数据库表以及我错过的其他一些方法来跟踪查询的位置

其他解决方案:

使用从mysql_fetch_array()返回的数组并使用utilite


这种方法的明显缺点是它获取表中的所有行。如果您的行数永远不会超过可管理的数量,那么这是可以接受的。在你的情况下,45应该是好的,假设他们不是巨大的行。如果您希望预加载数据,这种方法也可能有用。

太好了!这就是我要找的。谢谢