我得到了这段代码,由于某种原因,$ i ++不起作用。它显示了数据库中的所有内容,我只想要显示10个元素
if($i <= 10){
while($row = mysqli_fetch_assoc($result)){
echo '<li>'.$row['title'].'</li>';
$i++;
}
}
答案 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 强> 结束当前
for
,foreach
,while
,do-while
或当前的执行switch
结构。