sql查询取决于case语句

时间:2015-07-14 00:23:04

标签: php sql switch-statement

无法获得正确的案例来运行查询...我在页面的其他地方列出了变量...

  

if(isset($ _ SESSION ['user_level']))                               {...

然后是一个用于分页的代码块...(工作正常)

以及代码的其余部分

$user_level = ($_SESSION['user_level']);


switch ('user_level'){

    case 0:
        $user_level = "SELECT * FROM cases WHERE  $current_user = user_id  ORDER BY $order_by LIMIT $start_from, $per_page ";
        break;
    case 1:
        $user_level = "SELECT * FROM cases WHERE $current_user = user_id  ORDER BY $order_by LIMIT $start_from, $per_page  ";
        break;
    case 2:
        $user_level = "SELECT * FROM cases ORDER BY $order_by LIMIT $start_from, $per_page  ";
        break;
    case 3:
        $user_level = "SELECT * FROM cases ORDER BY $order_by LIMIT $start_from, $per_page ";
        break;
    default:
    $user_level = "SELECT * FROM cases ORDER by $order_by LIMIT $start_from, $per_page";

        }
$query = $user_level;

以WHILE语句结束。 如果我只是使用... $ query =“SELECT ...”它将返回所有行,并且每个用户都会看到所有行。 我已经调整了数据库中的user_level来收集线索,但没有。 用户级别为new_user,normal_user,technichian,admin。并且每个都有不同的权限。

1 个答案:

答案 0 :(得分:0)

不确定你在这里做了什么:

switch ('user_level'){

该变量名为$user_level。所以:

switch ($user_level) {