используя условие МЕЖДУ В ГДЕ

Я хотел бы $minvalue следующей функцией, чтобы выбрать отели с размещением между определенным $minvalue и $maxvalue . Какой был бы лучший способ сделать это?

 function gethotels($state_id,$city,$accommodation,$minvalue,$maxvalue,$limit,$pgoffset) { $this->db->limit($limit, $pgoffset); $this->db->order_by("id", "desc"); $this->db->where('state_id',$state_id); $this->db->where('city',$city); // This one should become a between selector $this->db->where($accommodation,$minvalue); $result_hotels = $this->db->get('hotels'); return $result_hotels->result(); } 

Related of "используя условие МЕЖДУ В ГДЕ"

Вы должны использовать

 $this->db->where('$accommodation >=', minvalue); $this->db->where('$accommodation <=', maxvalue); 

Я не уверен в синтаксисе, поэтому прошу прощения, если это неверно.
В любом случае BETWEEN реализуется с использованием> = min && <= max.
Это смысл моего примера.

Редакция:
Глядя на эту ссылку, я думаю, вы могли бы написать:

 $this->db->where("$accommodation BETWEEN $minvalue AND $maxvalue"); 

Звучит правильно, но некоторые проблемы могут создать выполнение этого запроса: я бы предложил:

 $this->db->where( "$accommodation BETWEEN $minvalue AND $maxvalue", NULL, FALSE ); 

В Codeigniter Это простой способ проверить две записи даты …

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

Вы также можете столкнуться с сообщением об ошибке. «Столкновение типа операнда: дата несовместима с int.

Используйте одинарные кавычки по датам. Например: $this->db->where("$accommodation BETWEEN '$minvalue' AND '$maxvalue'");