2015-10-21 92 views
3

我正在使用Codeigniter。
我想在我的數據庫中獲取兩個日期之間的所有日期爲什麼我的數組(日期和日期之間的SQL)是空的?

我的函數的結果總是一個空數組。
在我的數據庫日期格式爲:2015年10月21日

我的模型

public function lireListeAchats($selection = "*", $date_debut, $date_fin, $champs_order = "id", $direction_ordre = "ASC", $nombre_limite = NULL, $debut_limite = NULL){ 

$conditions = "date_achat BETWEEN $date_debut AND $date_fin"; 

$retour= $this->db->select($selection) 
        /*à partir de quelle table*/ 
        ->from($this->table) 
        /*déterminer des conditions spécifiques*/ 
        ->where($conditions) 
        /*déterminer un ordre précis*/ 
        ->order_by($champs_order, $direction_ordre) 
        /*déterminer une limite*/ 
        ->limit($nombre_limite, $debut_limite) 
        /*obtenir les résultats (va de pair avec result()*/ 
        ->get() 
        /*retourner les résultats sous forme de tableau*/ 
        ->result_array(); 

        return $retour; 

}  

$date_debut並在此格式$date_fin回報:2015年10月1日

+0

是你的日期居然* *作爲'DATE'數據類型存儲,或作爲'VARCHAR'以這種格式存儲? – Siyual

+0

您正在返回'$ return',但您的結果數組存儲在'$ retour'中。 – GluePear

+0

還有日期$ date_debut應該小於$ date_fin否則你什麼也得不到.. –

回答

4

這是因爲$date_debut AND $date_fin,這些變量是字符串。

總結他們在報價'$date_debut' AND '$date_fin'

MySQL是解釋2015-10-01爲2015年減10減01

使用CodeIgniter的錯誤檢查:

+0

好吧,我明白了!謝謝:) –

+0

不客氣(tu es bienvenue)Véronique。 –

+0

Merci beaucoup :)我希望我的英語不是很差 –

0

你有這是一個錯字。它應該是returnretour返回似乎比retour更好。

public function lireListeAchats($selection = "*", $date_debut, $date_fin, $champs_order = "id", $direction_ordre = "ASC", $nombre_limite = NULL, $debut_limite = NULL){ 

$conditions = "date_achat BETWEEN $date_debut AND $date_fin"; 

$return= $this->db->select($selection) 
        /*à partir de quelle table*/ 
        ->from($this->table) 
        /*déterminer des conditions spécifiques*/ 
        ->where($conditions) 
        /*déterminer un ordre précis*/ 
        ->order_by($champs_order, $direction_ordre) 
        /*déterminer une limite*/ 
        ->limit($nombre_limite, $debut_limite) 
        /*obtenir les résultats (va de pair avec result()*/ 
        ->get() 
        /*retourner les résultats sous forme de tableau*/ 
        ->result_array(); 

        return $return; 
+0

我修正了它,但是我的數組仍然是空的......甚至是$ date_debut在$ date_fin之前來吧 –