我可以在php中的if语句中运行while语句吗?

时间:2016-01-07 23:43:44

标签: php mysql if-statement while-loop

我想检查数据库中是否有多于或等于一行的字段'publish'= publish然后显示'publish'= publish的所有帖子(行)。 对于它我尝试从if语句开始 - 如果行计数大于或等于1而不是run语句。但这限制了while语句只显示1个单个帖子。

$query = "SELECT * FROM posts WHERE publish='publish' ORDER BY data_id DESC";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
$row_cnt = mysqli_num_rows($result);

if ($row_cnt >= 1) {
while($row = mysqli_fetch_array($result)){  
echo '<h3>'. $row['title'] .'</h3>
<br><br>
<p>' . $row['post'] . '</p>; 
}
} else {
echo '<h4>Sorry, no posts to display.</h4></div>';
}

1 个答案:

答案 0 :(得分:0)

除了echo语句中的拼写错误(缺少引号),代码完全正常。

你已经在while循环之前获取第一行,如果你只有2行,你可以认为它只返回1行。只需删除查询执行行下的$row = mysqli_fetch_array($result);