Intereting Posts
многострадальный PHP-скрипт и способы решения проблемы? PHPExcel очень медленный – способы улучшения? Графический интерфейс трассировки Xdebug? Как генерировать json-ответ, используя php Как загружать встроенные изображения с помощью пакетного запроса Graph API? Как получить адрес электронной почты при аутентификации пользователя с помощью Google Oauth2 и people.me обновить определенную запись из списка массива mysql Ошибка MySQL: «Количество столбцов не соответствует количеству значений в строке 1» – помощь для начинающих вставить вывод print_r в базу данных? Выполнение команд root через PHP получение трех записей в порядке убывания каждой категории с использованием codeigniter Как вставить данные с IGNORE, если одна переменная всегда различна? автозагрузка и несколько каталогов Как получить доступ к объекту объекта (элемента stdClass Object) элемента / элемента массива? Как искать сингулярные / множественные числа в php mysql

codeigniter: получение данных, отправленных между двумя датами

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

благодаря

Это похоже на то, что вам нужно:

$this->db->where('order_date >=', $first_date); $this->db->where('order_date <=', $second_date); return $this->db->get('orders'); 

Попробуй это:

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

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

Это отлично подействовало на меня

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

Пусть это поможет вам …. С объединением трех таблиц

 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; } 
 $query = $this->db ->get_where('orders',array('order_date <='=>$first_date,'order_date >='=>$second_date)) ->result_array(); 

Если вы хотите сравнить даты 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).

если вы хотите принудительно использовать ключевое слово BETWEEN для хелпера запроса Codeigniter. Вы можете использовать, где без escape false, как этот код. Хорошо работает в версии 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(); }