2014-01-06 69 views
0

我想實現一個網頁程序,每次網頁加載一個PHP函數時都會檢查數據庫,看看用戶是否屬於某個特定的委員會。如是;那麼特定<DIV>標籤將可見,如果否,則<DIV>標籤將被隱藏。如何根據PHP中的查詢結果顯示或隱藏DIV標籤?

下面是我用來實現邏輯但失敗的示例php代碼。

$style = "\"visibility:visible\""; 

function checkCommitteeID($UserID) 
{ 
$sql = "SELECT CommitteeID FROM CommitteeMembers 
WHERE CommitteeMembersStatusID = 1 AND UserID = '$UserID' "; 
$result = sqlsrv_query($db, $sql); 
$CommitteeID = 0; 

    if ($myrow = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) 
     { 
     $CommitteeID = $myrow['CommitteeID']; 
     } 
    return $CommitteeID; 
} 

    $CommitteeID = checkCommitteeID($UserID); 

if ($CommitteeID > 0) 
    { 
    $style = "\"visibility:visible\""; 
    } 
else 
    { 
    $style = "\"visibility:hidden\""; 
    } 

風格變量表示<DIV>標籤的屬性值。該<DIV>標籤如下圖所示

<div align="center" style=<?php echo $style; ?> > 

當我運行網頁的DIV標籤是隱藏的,不管用戶是否存在於一個委員會或沒有。我的代碼有什麼問題?或者有人能告訴我如何以更好的方式實現它?

+0

Ÿ你想保持在DOM的DIV?僅在需要時才顯示DIV。不要切換可見性 –

+0

您正在輸入其他條件。 –

+0

嘗試'返回$ style;'和'$ style = checkCommitteeID(ID);',請參閱:http://www.php.net/manual/en/function.return.php –

回答

-1

你沒有在你的函數聲明$ DB變量,如果你宣佈它的功能外,你應該在你的函數開始宣佈$ SQL前加

global $db; 

+0

你有點兒幫我意識到了在哪裏問題是。我已經通過將$ db變量作爲參數解決了這個問題。 功能checkCommitteeID($分貝,$用戶ID) 然後與調用它: $ CommitteeID = checkCommitteeID($分貝,$用戶ID); –

0

如果你有問題,涉及到的風格,那麼你可以使用

if ($CommitteeID > 0) 
    { 
    $style = "\"display:block\""; 
    } 
else 
    { 
    $style = "\"display:none\""; 
    }