选择查询 php


Select query php

我有一个查询,它从"用户"表中选择并过滤"vehicle_make"和"dealer_group"表。dealer_group的值为"北"、"东"、"南"和"西"。如果登录用户的值为"East",则他们只会看到具有相同"vehicle_make"和"dealer_group"的用户。

$query = "SELECT  * FROM users 
          WHERE vehicle_make = '".$_SESSION['vehicle_make']."'
            AND dealer_group = '".$_SESSION['dealer_group']."'
          ORDER BY ".$order_by." LIMIT ".$start.", ".$display;

我正在尝试做的是提出一个查询,以便有人可以看到具有北,东,西,南值的所有用户,但仍会过滤掉具有单个值的其他用户。我不想将所有这些值放在数据库的表中(即"北、西、南、东"的值),但是有没有一种快速简单的方法可以做到这一点?

对于可以看到所有经销商组的用户,请将会话变量留空。然后做:

$dealer_group = empty($_SESSION['dealer_group']) ? " " : "AND dealer_group = '{$_SESSION['dealer_group']}'";
$query = "SELECT  * FROM users 
          WHERE vehicle_make = '{$_SESSION['vehicle_make']}'
            $dealer_group
          ORDER BY $order_by LIMIT $start, $display";

这样,如果他们不限于特定的经销商组,它只会省略WHERE条款的那部分。