限制while循环

时间:2010-01-16 00:13:17

标签: php mysql while-loop

从mysql获取数据时,有没有办法限制while循环?

$query = "SELECT * 
    FROM  `table` 
    WHERE user_id = '$id' 
    ORDER BY `ID` DESC";

$result = mysql_query($query);

while ($info = mysql_fetch_assoc($result)) {
    //stuff
}

这里我不想使用mysql的LIMIT函数,我可以限制while而不是那个循环吗?

由于

5 个答案:

答案 0 :(得分:8)

当循环到达目标时,您始终可以break。否则,您可以使用Nick建议的for循环。

$count = 0;

while ($count < 4 && $info = mysql_fetch_assoc($result)) {
    //stuff

    $count++;
}

但请注意,使用LIMIT命令限制查询的结果集可能更好。

答案 1 :(得分:3)

使用for循环。例如,循环直到五行......

for ($i = 0; $info = mysql_fetch_assoc($result) && $i < 5; ++$i) {
    // do stuff
}

答案 2 :(得分:1)

只需添加行数检查:

while ($rowcount < 100 && $info = mysql_fetch_assoc($result)) {
    $rowcount += 1;
//stuff
}

答案 3 :(得分:1)

您可以使用break结束循环。

所以,它可能是

$result = mysql_query($query);
$count=0;

while ($info = mysql_fetch_assoc($result)) {

if($info=="what you're looking for"){ $count+=1; }

if($count >= 4){ break; }//break will exit the while loop
}

break php docs

答案 4 :(得分:0)

你总是可以提前跳出你的PHP循环 - 但你应该使用mysql LIMIT子句 - 整个结果集从数据库中获取并在你调用mysql_query()时转移到客户端,可能会创建内存和性能问题。