如何隐藏Mysqli空行/列?

时间:2014-08-28 12:11:55

标签: php mysqli

我的项目有两张桌子。 1.分类 2.项目

在catregories表中,目前我有4个类别,其中1行为空,我想隐藏空行或显示消息"没有找到任何内容"。

这是我正在处理的代码。

<?php 

$query = "SELECT * FROM categories ORDER BY category_name ASC";
$result = mysqli_query($connection, $query);
if(!$result){
die("Database query failed");
}

?>

    <ul">
      <li><a href="index.php"></a></li>
      <?php while($row = mysqli_fetch_assoc($result)){ ?>
        <li><a href="products.php?category=<?php echo urlencode($row["category_id"]); ?>"><?php echo $row["category_name"]; ?></a></li>
      <?php } ?>
    </ul>
    <?php mysqli_free_result($result); ?>

非常感谢帮助。

4 个答案:

答案 0 :(得分:0)

试试这段代码,

if ($result->num_rows != 0){
// body here
}else{
echo "Nothing found !";
}

答案 1 :(得分:0)

使用如下:已编辑

 <ul>
          <li><a href="index.php"></a></li>
          <?php while($row = mysqli_fetch_assoc($result)){ 
    if(isset($row["category_name"]) && strlen($row["category_name"]) > 1 && $row["category_name"] !=""){?>
            <li><a href="products.php?category=<?php echo urlencode($row["category_id"]); ?>"><?php echo $row["category_name"]; ?></a></li>
    <?php } ?>
          <?php  }?>
        </ul>
        <?php mysqli_free_result($result); ?>

请正确构建html部分。

答案 2 :(得分:0)

你是这样的吗?

  <?php 
  if($result && mysqli_num_rows($result)>0){
      while($row = mysqli_fetch_assoc($result)){ 
            if($row["category_name"]!=""){ ?>
            <li><a href="products.php?category=<?php echo urlencode($row["category_id"]); ?>"><?php echo $row["category_name"]; ?></a></li>
          <?php }
      }
  } else {
   echo 'Sorry No results!'
  }
  ?>

答案 3 :(得分:0)

也许你应该尝试类似这样的查询:

SELECT * FROM categories WHERE category_id IS NOT NULL AND category_name IS NOT NULL ORDER BY category_name ASC