mariadb PHP中的IF-THEN-ELSE语句

mi7gmzs6  于 2022-11-08  发布在  PHP
关注(0)|答案(2)|浏览(149)

任何人谁可以帮助如何应用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'
        ";
    }
vlju58qv

vlju58qv1#

无论用户类型如何,您都希望registered_status != 'Cancelled'包含在其中,因此请将其包含在$query中。
对于admin用户,您希望包含带有registered_created_by = $account_id的结果。因此在PHP if分支中。因为它是OR条件,所以不管registered_status如何,它都将被包含。

$query .= ' OR registered_created_by = ?'

将此查询作为预准备查询执行时,请传递$_SESSION['account_id']作为要在查询中使用得值.

bn31dyow

bn31dyow2#

我也是编程新手,但我希望这能有所帮助。
尝试先获取结果,然后编写一个条件来检查registered_created_by == $_SESSION ['account_id']是否成立,如果成立,则显示该列,否则隐藏该列。

相关问题