簡體   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