Не удается получить правильный случай для выполнения запроса ... У меня есть переменные, перечисленные в другом месте на странице ...SQL-запрос в зависимости от случая заявления
если (Исеть ($ _ 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 ...", он возвращает все строки, и каждый пользователь видит все строки elses. Я скорректировал user_level внутри базы данных, чтобы собрать ключ, но нет. Уровни пользователей - new_user, normal_user, technician, admin. и каждый из них имеет разные разрешения.
'switch ($ user_level) {', no? – chris85
Пожалуйста, проверьте 'переключатель' [документация] (http://php.net/manual/en/control-structures.switch.php). Как сказал chris85, вы должны предоставить переменную, а не статическую строку, если хотите, чтобы она работала. – zilongqiu