所以我有一个查询,虽然我的查询可能会返回20个结果,但我只希望它显示前9个结果。有一个愚蠢的原因我不只是将查询结果限制为9,为此我需要知道如果$ i达到9,如何停止while函数。
代码是
$i = 0;
while($array = mysql_fetch_array($queryresults) && $i <= '9')
{
echo $array['id'];
$i++;
}
如何让它在第9次结果后停止发出更多回声?谢谢!
答案 0 :(得分:4)
首先设置限制条件也会确保你只获取9行,而不是10行和1次丢弃,因为&&
被称为 lazy (如果第一部分是假的,它不会甚至看下一部分。)
$i = 0;
while($i < 9 && $array = mysql_fetch_array($queryresults)){
echo $array['id'];
$i += 1;
}
或者如果你想要幻想:
$i = 9;
while($i-- > 0 && $array = mysql_fetch_array($queryresults)){
echo $array['id'];
}
但我发现这个错误很容易..
答案 1 :(得分:2)
$i = 0;
while($array = mysql_fetch_array($queryresults) && $i++ < 9)
echo $array['id'];
}
注意:
9
放入引号$i++
循环条件中执行while
来进行比较后增量(尽管您不必这样做,但您也可以在echo $array['id']
之后将其放在while循环中体)。< 9
而不是<= 9
,否则您将获得10次循环迭代。干杯
答案 2 :(得分:0)
您的$i++
需要在while循环中
您还应该$i <= 9
而不是$i <= '9'
,但它应该仍然可以正常工作
答案 3 :(得分:0)
'9'需要为9
$i = 0;
while($array = mysql_fetch_array($queryresults) && $i < 9){
echo $array['id'];
$i += 1;
}