任何人谁可以帮助如何应用MariaDB:PHP中的IF-THEN-ELSE语句。
我想查询当帐户类型为Admin且他/她在pre_registered表中创建了数据时,“已取消”状态也会显示在列表中,但如果他/她是Admin但不是创建数据的人,则该状态不会显示在列表中。如果系统中登录的是普通用户,则“已取消”状态不会包括在列表中。
我已经尝试下面的查询,但没有工作.
<?php
$account_type = getActiveAccountType($connect);
$query = "SELECT * FROM pre_registered WHERE ";
if ($account_type == 'Admin') {
$query .= "
IF registered_created_by != ".$_SESSION['account_id']." THEN
{
registered_status != 'Cancelled'
}
END IF;
";
} else if ($account_type == 'User') {
$query .= "
registered_status != 'Cancelled'
";
}
2条答案
按热度按时间vlju58qv1#
无论用户类型如何,您都希望
registered_status != 'Cancelled'
包含在其中,因此请将其包含在$query
中。对于admin用户,您希望包含带有
registered_created_by = $account_id
的结果。因此在PHPif
分支中。因为它是OR
条件,所以不管registered_status
如何,它都将被包含。将此查询作为预准备查询执行时,请传递
$_SESSION['account_id']
作为要在查询中使用得值.bn31dyow2#
我也是编程新手,但我希望这能有所帮助。
尝试先获取结果,然后编写一个条件来检查registered_created_by == $_SESSION ['account_id']是否成立,如果成立,则显示该列,否则隐藏该列。