在php

时间:2016-05-18 11:28:18

标签: php mysql sql date

我是php和sql的新手;我正在编写一个SQL查询来显示以下逻辑的记录:

1。 sql表中有9个单元格。我想使用3个参数的组合搜索记录。这是在2个日期之间搜索,搜索位置和搜索属性类别类型。

2。搜索条件如下所示:

日期自:_________(日期选择器) - 截止日期:______________(日期选择器)

地点:Dropdown(dehi,mumbai,.....,)

物业类别类别:下拉(住宅,商业)

结果要求组合:

一个。全部3个组合True - (用户填写日期,位置,支持猫类型。)

湾这两种组合都是真的。 (用户只填写一个参数。)

℃。只有2个组合是真的。 (用户填写2个参数组合,即日期和地点(或)位置和属性类型(或)日期和属性类型)

问题: 我只能做一个组合......

这是我的sql查询和页面语法。:

    if(isset($_POST['search'])){
$name=$_POST['search'];
$location=$_POST['select1'];
$date1=$_POST['d_dov1'];
$date2=$_POST['d_dov2'];
$categ=$_POST['category'];
 $query="SELECT * FROM customer WHERE d_loc='$location' OR d_dov BETWEEN '$date1' AND '$date2' OR d_cate='$categ'";

$sql_Q=mysql_query($query); }else{
$Q_select = "Select * from customer Order by id DESC";
$sql_Q = mysql_query($Q_select) or die(mysql_error());  }

请在这方面提供帮助。

1 个答案:

答案 0 :(得分:0)

您可以连接查询并执行此任务。

if(isset($_POST['search'])){
$name=$_POST['search'];
$location=$_POST['select1'];
$date1=$_POST['d_dov1'];
$date2=$_POST['d_dov2'];
$categ=$_POST['category'];

$query="SELECT * FROM customer WHERE id!=0";
if($location!=''){
   $query.=" AND d_loc='$location'";
}
if($date1!='' && $date2!=''){
   $query.= " AND d_dov BETWEEN '$date1' AND '$date2'";
}
if($categ!=''){
  $query.= " AND d_cate='$categ'";
}

如果你选择查询连接的所有值。使用id!= 0背后的想法是连接查询.id是你表的主键。

您可以使用 AND OR ,具体取决于您的需要。