多个条件php/mysql

Com*_*mon 0 php mysql sql

我在php/mysql上进行多个critera搜索,这个搜索有5个条目: - 类型,价格最小 - 价格最大,数量最小 - 数量最大:

$Type = $_POST['Type'];
$Pmin = $_POST['Pmin'];
$Pmax = $_POST['Pmax'];
$Qtmin = $_POST['Qtmin'];
$Qtmax = $_POST['Qtmax'];
$query = "SELECT * FROM products where type_product='$Type' 
and price_min<='$Pmin' 
and price_max>='$Pmax'  
and qty_min<='$Qtmin' 
and qty_max>='$Qtmax' " ;
Run Code Online (Sandbox Code Playgroud)

这很好用,但用户必须填写所有条目.我的想法是用户只能输入Type,Type和Price,或者只输入数量等等.我试图使用OR子句,但我没有让它运行良好.

Mik*_*e B 5

将查询拆分为多个部分.对于诸如此类的场合,使用查询 - 汇编类更容易.当然还有PDO.

$query->select('columns from MyTable')
 ->where('deleted = 0');


if (condition) {
  $query->where('field = ?', $value);
}

if (condition) {
  $query->where('field != ?', $value);
}

$results = $query->execute();
Run Code Online (Sandbox Code Playgroud)