如何使脚本运行到某一点?

时间:2015-04-22 20:55:14

标签: php

我得到了这段代码,由于某种原因,$ i ++不起作用。它显示了数据库中的所有内容,我只想要显示10个元素

if($i <= 10){
            while($row = mysqli_fetch_assoc($result)){

            echo '<li>'.$row['title'].'</li>';
            $i++;   
    }
}

2 个答案:

答案 0 :(得分:5)

快速修复,更改:

if($i <= 10){
    while($row = mysqli_fetch_assoc($result)){
        echo '<li>'.$row['title'].'</li>';
        $i++;   
    }
}

...为:

while($i <= 10 && $row = mysqli_fetch_assoc($result)){
    echo '<li>'.$row['title'].'</li>';
    $i++;   
}

说明:

进入if条件区后,if条件永远不会再次被评估。每个循环仅评估while条件,因此将$i <= 10移至while条件。使用AND &&,因为您希望两个条件都为真以继续循环。

但是,正如Fred -ii-建议的那样,将LIMIT 10添加到数据库查询中会减少您必须处理的数据量。

答案 1 :(得分:0)

您应该使用MySql限制LIMIT 10查询的结果 MySql LIMIT tutorial

即:

select something from something LIMIT 10; 

回答你的直接问题:
使用break

$i = 1;
while($row = mysqli_fetch_assoc($result)) {
    echo '<li>'.$row['title'].'</li>';
    $i++;
    if($i > 10) {
        break;
    }  
}
  

<强> break    结束当前forforeachwhiledo-while或当前的执行   switch结构。