codeigniter: получение данных между двумя датами - PullRequest
42 голосов
/ 02 февраля 2011

Как я могу получить данные из базы данных, запрашивая записи между двумя датами, используя activerecord codeigniter?

спасибо

Ответы [ 9 ]

108 голосов
/ 02 февраля 2011

Это выглядит как то, что вам нужно:

$this->db->where('order_date >=', $first_date);
$this->db->where('order_date <=', $second_date);
return $this->db->get('orders');
9 голосов
/ 04 января 2012

Попробуйте:

$this->db->where('sell_date BETWEEN "'. date('Y-m-d', strtotime($start_date)). '" and "'. date('Y-m-d', strtotime($end_date)).'"');

Надеюсь, это сработает

4 голосов
/ 11 ноября 2014

Это прекрасно сработало для меня

$this->db->where('sell_date BETWEEN "'. date('Y-m-d', strtotime($start_date)). '" and "'. date('Y-m-d', strtotime($end_date)).'"');
2 голосов
/ 10 октября 2018

Это сработало для меня:

$this->db->where('RecordDate >=', '2018-08-17 00:00:00');
$this->db->where('RecordDate <=', '2018-10-04 05:32:56');
0 голосов
/ 24 мая 2019

Просто напишите МЕЖДУ '{$ startDate}' И '{$ endDate}' где условие в виде

->where("date BETWEEN '{$startDate}' AND '{$endDate}'")

0 голосов
/ 23 августа 2017

, если вы хотите принудительно использовать ключевое слово BETWEEN в помощнике по запросу Codeigniter. Вы можете использовать где без выхода false, как этот код. Хорошо работает на CI версии 3.1.5. Надеюсь, это поможет кому-то.

if(!empty($tglmin) && !empty($tglmax)){
        $this->db->group_start();
        $this->db->where('DATE(create_date) BETWEEN "'.$tglmin.'" AND "'.$tglmax.'"', '',false);
        $this->db->group_end();
    }
0 голосов
/ 12 февраля 2016

Если вы хотите сравнить даты SQL, вы можете попробовать это:

$this->db->select();
$this->db->from('table_name');
$this->db->where(' date_columnname >= date("'.$from.'")');
$this->db->where( 'date_columnname <= date("'.$to.'")');

Это сработало для меня (PHP и MySQL).

0 голосов
/ 11 мая 2014
$query = $this->db
              ->get_where('orders',array('order_date <='=>$first_date,'order_date >='=>$second_date))
              ->result_array();
0 голосов
/ 05 февраля 2013

Может это полезно для вас .... С объединением трех столов

public function get_details_beetween_dates()
    {
        $from = $this->input->post('fromdate');
        $to = $this->input->post('todate');

        $this->db->select('users.first_name, users.last_name, users.email, groups.name as designation, dailyinfo.amount as Total_Fine, dailyinfo.date as Date_of_Fine, dailyinfo.desc as Description')
                    ->from('users')
                    ->where('dailyinfo.date >= ',$from)
                    ->where('dailyinfo.date <= ',$to)
                    ->join('users_groups','users.id = users_groups.user_id')
                    ->join('dailyinfo','users.id = dailyinfo.userid')
                    ->join('groups','groups.id = users_groups.group_id');

        /*
        $this->db->select('date, amount, desc')
                 ->from('dailyinfo')
                 ->where('dailyinfo.date >= ',$from)
                 ->where('dailyinfo.date <= ',$to);
        */

        $q = $this->db->get();

        $array['userDetails'] = $q->result();
        return $array;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...