使用while循环检查数组是否为空

时间:2014-06-09 12:28:06

标签: php arrays

我在网站上看了几篇这样的帖子,但仍然找不到我的问题的答案。我有一个while循环,对于表中填充的数据库中的每个条目。虽然如果数据库中的表是空的,我希望它显示一个消息。这里有什么不妥的想法? (了解已弃用的标签)

$result = mysql_query("SELECT * FROM blog");

while($row = mysql_fetch_array($result))                    
{           
   if(count($row) === 0)
   {
      echo 'No Data';
   }

   <table code>

}

6 个答案:

答案 0 :(得分:3)

使用mysql_num_rows计算来自DB的行。

<?php

if (mysql_num_rows($result) > 0) {
    echo '<table>';
    while ($row = mysql_fetch_assoc($result)) {
        echo '<tr>...</tr>';
    }
    echo '</table>';
} else {
    echo 'No result found';
}

?>

编辑:更新了表格代码。

答案 1 :(得分:2)

$result = mysql_query("SELECT * FROM blog");

if(mysql_num_rows($result) === 0) {
    echo 'No Data';
} else {
    while($row = mysql_fetch_array($result)) {           
        // code
    }
}

答案 2 :(得分:1)

使用mysql_num_rows()来获取查询结果行的数量

$rows = mysql_num_rows($result);
if($rows > 0) {
  // do your stuff
}

答案 3 :(得分:1)

使用mysql_num_rows计算查询中返回的行数。

答案 4 :(得分:1)

试试这个。 mysql_num_rows将检查数据库中的记录。在真实条件下,它将允许执行while循环,否则条件将执行。

 $result = mysql_query("SELECT * FROM blog");

    if(mysql_num_rows($result) > 0) {
        echo 'No Result Found';
    } else {
        while($row = mysql_fetch_array($result)) {           
            // Here your Data
        }
    }

答案 5 :(得分:1)

如果要在未找到记录时显示

  $result = mysql_query("SELECT * FROM blog");

  while($row = mysql_fetch_array($result))

  {           
  if(count($row) == 0 || count($row) < 1)
   {
    echo 'No Data';
   }
  else
     {
  //print records

      }
  }