Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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 从特定行启动mysqli_fetch_数组_Php_Mysqli - Fatal编程技术网

Php 从特定行启动mysqli_fetch_数组

Php 从特定行启动mysqli_fetch_数组,php,mysqli,Php,Mysqli,我有一些记录,我使用while($row=$result->fetch_assoc()对它们中的每一个进行迭代,然后使用while($row2=$result2->fetch_assoc()从不同的表中获取一些其他数据,也就是说,对它们中的每一个进行迭代,然后在HTML表中显示:第一个表数据的一部分和第二个表数据的一部分 然而,当我截断第一个表,然后插入新记录时,第二个查询$result2->fetch_assoc(),从表的开头开始,迭代X次,这基本上是第一个表的行数。这不是我想要的,我想从表

我有一些记录,我使用
while($row=$result->fetch_assoc()
对它们中的每一个进行迭代,然后使用
while($row2=$result2->fetch_assoc()从不同的表中获取一些其他数据
,也就是说,对它们中的每一个进行迭代,然后在HTML表中显示:第一个表数据的一部分和第二个表数据的一部分

然而,当我截断第一个表,然后插入新记录时,第二个查询
$result2->fetch_assoc()
,从表的开头开始,迭代X次,这基本上是第一个表的行数。这不是我想要的,我想从表中记住迭代的最后一个位置(表2),然后,当再次调用时,仅迭代第二个表中的保留行,始终依赖于第一个表的第次n

我在stackoverflow中找到了一个答案,您可以,但我没有正确理解:如果再次调用
$result2->fetch_assoc()
,如何保存最后一个限制值,以便从X id开始

我曾考虑在文本文档中存储一个计数器(先按while循环递增),然后从该特定数字使用
LIMIT
,但我真的不知道如何让它工作

编辑:以下是一些其他信息:

表“aplikimet”模式:

表“aplikimet_2”模式:


谢谢您的帮助!

每次调用
fetch\u assoc()
内部指针都会递增。 在最后一个元素之后,调用返回false,因此
while(…)
循环将结束

要重置它,您可以调用

mysqli_data_seek($result, 0);

IMHO不是一个很好的方法。 如果要多次循环同一行集,可以在第一次完成循环后将其保存在数组中。然后在需要时使用
foreach()
数组循环(此时您的连接可能已经关闭)


要限制查询返回的行数,请使用子句,该子句可以根据您使用的RDBMS使用不同的语法。

最好向我们展示这两个表的模式以及您当前运行的代码。然后告诉我们您得到的结果和您想要的结果。它的名称听起来像e您应该在第二个表中添加一个外键,并执行联接以在单个查询中获取所有数据,然后循环一次以将其打印到html。添加了代码,包括表架构。@solarc我认为这将是一个问题,因为第一个表应该被截断,而第二个表的数据应该保留。谢谢您的建议。但是,我不太明白你想说什么。我不想重置
fetch\u assoc()
的内部指针,而是想保存它,因此当再次调用它时,它应该从保存的值开始,而不是从开始!
mysqli_data_seek($result, 0);
$result->data_seek(0);