2011-08-14 137 views
0

我有數據庫菜單。如果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。

+0

你確定嗎?爲什麼會表明這一點?你能提供$ row ['menu']的值和你想要生成的HTML嗎? – thomasrutter

+0

我已經輸入了這個錯誤

  • Actualy it is
  • Ask4Tec

    回答

    1

    檢查是否有任何數據

    $hormenu = $row["menu"]; 
    if($hormenu){ 
        $menu .='<li><a href="mypage.php?id='.$id.'">'. $hormenu .'</a></li>'; 
    } 
    
    +0

    謝謝你這麼多你解決它。 – Ask4Tec

    1
    while ($row = mysqli_fetch_array($query)) { 
        if (!empty($row["menu"])) 
         $menu .='<li><a href="mypage.php?id='.$row["id"].'">'. $row["menu"] .'</a></li>'; 
    } 
    
    0

    如果「當我保留任何菜單場空」是指在數據庫中的行有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它很可能是最好不要這樣(無效?)行保存到數據庫中的。

    相關問題