繁体   English   中英

如何在MySQL Codeigniter上使用日期范围搜索数据库中的字段

[英]how to search fields on database with date range on mysql codeigniter

我曾尝试创建一个带有日期范围过滤器的搜索引擎,但是每当我在“ search_textbox”上键入内容时,它都不会包含日期,它只会搜索包含“%a%”之类的语句“名称”的字段;

if($search !=''):
        $added_query = "and date_created like '%".$search."%' or 
                                name like '%".$search."%' or
                                  alias like '%".$search."%' or
                                  designation like '%".$search."%' 
                                  ";
        else:
        $added_query ="";
        endif;
        $project_details = $this->db->query("SELECT *
                                 FROM ".$query."_man_power
                                  WHERE date_created BETWEEN '".$date_from."' AND '".$date_to."'
                                  ".$added_query."
                                order by date_created desc
                                  ");
            return $project_details;

您可能没有正确格式化where子句中的日期。 请参阅: https//www.w3schools.com/SQl/sql_dates.asp

您要确保$date_from$date_to看起来像以下类型,具体取决于类型:

$date_from = '2018-06-01 0:00:00';
$date_to = '2018-06-30 23:59:59';

您可以通过查看查询来更好地检查查询以发现问题。

$sql = "SELECT * FROM ".$query."_man_power";
$sql .= " WHERE date_created BETWEEN '".$date_from."' AND '".$date_to."'".$added_query;
$sql .= " order by date_created desc";

var_dump($sql);

$project_details = $this->db->query($sql);

当组合这些条件时,重要的是使用括号,以便数据库知道对每个条件求值的顺序。因此,将AND,OR条件与括号进行分组,例如:-

if($search !=''):
    $added_query = "and ( 
        date_created like '%".$search."%' or 
        name like '%".$search."%' or
        alias like '%".$search."%' or
        designation like '%".$search."%' 
        )";
else:
  $added_query ="";
endif;
$project_details = $this->db->query("SELECT *
        FROM ".$query."_man_power
        WHERE date_created BETWEEN '".$date_from."' AND '"
       .$date_to."'".$added_query." order by date_created desc");
        return $project_details;` 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM