如果mysql字段为空
问题描述:
我有数据库菜单。如果mysql字段为空
$sqlCommand = "SELECT id, menu FROM myTable WHERE showing='1' ORDER BY id ASC";
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error());
$menu='';
while ($row = mysqli_fetch_array($query)) {
$id = $row["id"];
$hormenu = $row["menu"];
$menu .='<li><a href="mypage.php?id='.$id.'">'. $hormenu .'</a></li>';
}
当我保持任何菜单字段为空。 它显示我
<li><a href="mypage.php?id='.$id.'"></a></li>
我怎么能隐藏或禁用它
任何帮助Plzz。
答
检查是否有任何数据
$hormenu = $row["menu"];
if($hormenu){
$menu .='<li><a href="mypage.php?id='.$id.'">'. $hormenu .'</a></li>';
}
+0
谢谢你这么多你解决它。 – Ask4Tec
答
while ($row = mysqli_fetch_array($query)) {
if (!empty($row["menu"]))
$menu .='<li><a href="mypage.php?id='.$row["id"].'">'. $row["menu"] .'</a></li>';
}
答
如果“当我保留任何菜单场空”是指在数据库中的行有NULL
或''
值那么就不要选择这样的行,即要排除menu
字段为空的行,请将(menu <> '')AND(menu IS NOT NULL)
添加到您的查询的WHERE
子句中。所以,你的SQL将
SELECT id, menu FROM myTable WHERE(showing='1')AND(menu <> '')AND(menu IS NOT NULL) ORDER BY id ASC
Althought它很可能是最好不要这样(无效?)行保存到数据库中的。
你确定吗?为什么会表明这一点?你能提供$ row ['menu']的值和你想要生成的HTML吗? – thomasrutter
我已经输入了这个错误