2014-01-06 40 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\""; 
    }