Php 循环查询结果,并在每100条记录重叠后执行一些操作
$result包含非特定数量的记录 我需要循环$result,在每100条记录之后,做一些事情,然后继续循环,但包括前一个循环中的5条记录(重叠) 像这样:Php 循环查询结果,并在每100条记录重叠后执行一些操作,php,mysql,Php,Mysql,$result包含非特定数量的记录 我需要循环$result,在每100条记录之后,做一些事情,然后继续循环,但包括前一个循环中的5条记录(重叠) 像这样: 获得0-100的记录 对这些记录做些什么 获取记录95-195 对这些记录做些什么 获取记录190-290 有人对如何以最有效的方式完成这项工作提出了建议吗?首先,我同意评论员的观点。我们在这里帮助您解决遇到的问题,但不是编写脚本 尽管如此,我还是为你的问题写了一份完美的解决方案: $results; #your results for(
有人对如何以最有效的方式完成这项工作提出了建议吗?首先,我同意评论员的观点。我们在这里帮助您解决遇到的问题,但不是编写脚本 尽管如此,我还是为你的问题写了一份完美的解决方案:
$results; #your results
for($i = 0; $i <= @{$results}, $i++){ #loop through all results
my @tempList;
push(@tempList, @{$results}[$i]); #push every result in a temporary list
if (@{$results} == 100 || $i == @{$results}) { #do sth, if the tempList hast 100 entries or you're at the last round of your loop
#do sth with the 100 records
$i -= 5; #decrement i to get the 5 entries overlap
}
}
$results#你的结果
对于($i=0;$i$slimit=0;
$flimit=100;
虽然($flimitI还没有为此编写任何代码,因为我不确定如何处理。那么请编写一些代码,如果遇到一些问题,请再次询问。目前的问题太广泛了。stackoverflow只是关于修复不工作的代码吗?我在哪里可以询问有关代码制作的帮助信息?stackoverflow是关于帮助您解决问题的ts-不为你做这项工作。有很多书和在线教程,你可以找到基本PHP的细节和可以执行的各种类型的循环。因此,想法是你阅读并尝试一些东西,如果它起作用,那么你已经做得很好,否则展示代码,人们很可能会帮助你。我没有要求有人写这篇文章为我完成了代码,我询问了一些建议、伪代码或一些方法来让我开始。在这种情况下,只要告诉我应该制作一个临时列表等,会有很大的帮助,因为我没有想到。谢谢!这看起来像是我想要的!@的目的是什么?我以为它只是用于抑制函数中的错误?另外,为了检查它是否是最终计数,我会检查$I是否<$rowcount-5吗?就像我说的:它是perl。在perl中,@
表示一个数组,$
表示一个标量。在我的示例中,我使用了一个引用(指针),一个标量,指向结果数组。然后我用@{$results}取消了它的引用
获取数组本身。在for循环中,在标量上下文中使用数组来获取其长度是一种非常好的方法;)这是我首先想到的,但是在PHP中这样做而不是进行几个查询不是更有效吗?
$slimit=0;
$flimit=100;
while($flimit<=total_records_in_your_table)
{
$q="select * from table_name limit $slimit,$flimit";
while($data=mysql_fetch_row($q))
{
//opration
}
$slimit=$flimit-6;
$flimit=$flimit+$slimit;
}