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

标签 php mysql if-statement while-loop

我想检查数据库中是否有超过或等于一行字段“发布”=发布,然后显示“发布”=发布的所有帖子(行)。 为此,我尝试从 if 语句开始 - if 行计数大于或等于 1,而不是 run while 语句。但这限制了 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>';
}

最佳答案

除了 echo 语句中的拼写错误(缺少引号)之外,代码完全没问题。

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

关于php - 我可以在php的if语句中运行while语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34667218/

相关文章:

php - CakePHP 外壳单元测试

mysql - SQL - 在 UPDATE QUERY 上 REPLACE(UUID) 时重复

mysql - 获取计数(*)的总和()

c - 移位运算

JavaScript if 语句

javascript - 使用 Ajax 制作添加监视列表按钮功能 (PHP)

javascript - 如果发生分页,则 onclick 不会发生

php - MySQL 查询使用 PDO 没有返回结果

mysql - 根据条件将行转为列

ruby-on-rails - Ruby 中的 `try` 和 `&.`(安全导航运算符)有什么区别