2017-05-23 3 views
1

i aus der Datenbankich mag für ein bestimmtes Datum Intervall

$ lesen = date ("YMT", strtotime ("0 month")) für ein bestimmtes Datum Intervall machen Auswahl will Auswahl aus der Datenbank machen ;
$ start = Datum ("Y-m-1", Laufzeit ("0 Monat"));

ich will Auswahl für Werte machen zwischen $ beginnen und $ letzte, und hier mein Controller

$ Einkommen = ist $ this-> select_model-> get_income (array (‘ i.date_of_income '=> $ start, ' i.date_of_income '=> $ last));

und hier ist mein Modell: -

Funktion get_income ($ where = false) {
$ this-> db-> wählen ('*');
$ this-> db-> von ('Einheit u');
$ this-> db-> join ('Einkommen i', 'u.registration_number = i.registration_number', 'left');
if ($ where) {
$ this-> db-> where ($ where);
}
$ query = $ this-> db-> get();
Rückgabe $ query-> result_array();
}

+0

Sie oposite Operator haben, wenn 'Vergleichen $ last' –

+0

Könnten Sie bitte posten die Datenbanktabellenstruktur mit Beispieldaten, wenn möglich, Bitten e bieten SQL Giddle Link für die genaue Lösung. –

Antwort

1

Für Intervallzeit können Sie BETWEEN mysql Schlüsselwort verwenden.

$incomes=$this->select_model->get_income("i.date_of_income BETWEEN '" . $start . "' AND '" . $last . "'"); 
+0

es hat nicht funktioniert –

+0

überprüfen aktualisiert meine Antwort. –

0

Rufen Sie die Funktion wie diese

$ Einkommen = $ this-> select_model-> get_income ('i.date_of_income zwischen $ beginnen und $ letzte');

+0

hat es nicht funktioniert –

+0

es hat nicht funktioniert –

+0

überprüfen Sie Ihre Start-und Enddatum wird gedruckt, currect –

1

Sie können es verwenden. Controller-Abfrage

$incomes=$this->select_model->get_income($start,$last); 

Modellabfrage

function get_income($start=null,$last = null){ 
$this->db->select('*'); 
$this->db->from('unit u'); 
$this->db->join('income i','u.registration_number=i.registration_number','left'); 
if(!empey($start) && !empey($last){ 
$this->db->where('i.date_of_income >=', $first_date); 
$this->db->where('i.date_of_income <=', $second_date); 
} 

$query = $this->db->get(); 
return $query->result_array(); 
} 

OR

können Sie nur Controller

$incomes = $this->select_model->get_income("i.date_of_income BETWEEN '{$start}' AND '{$last}'"); 
ändern
Verwandte Themen