2011-01-19 2 views
0

CodeIgniter/PHP:Выберите, где дата попадает в диапазон

Это мой текущий дб запрос:

$pass_check = $this->CI->db->select('code')->from('coupons')->where(array('title'=>'Booyah'))->get(); 
$pass_check = $pass_check->result_array(); 

Есть два других поля: 'EXP_DATE' и 'start_date. Они представляют собой, когда купон должен быть доступен, а когда он не должен.

Как я могу выбрать только коды/купоны, которые соответствуют диапазону дат в db?

Это имеет смысл?

ответ

0

SQL-оператор для выбора значений между двумя датами будет что-то вдоль этих линий:

SELECT code 
FROM coupons 
WHERE title = 'Booyah' 
AND CURRENT_DATE BETWEEN start_date and exp_date; 

Я уверен, что вы можете сделать соответствующие замены для CodeIgniter.

AKA, если start_date меньше сегодня, не получают, а если сегодня после EXP_DATE не получить его.

Но я предполагаю, что вы имели в виду «E.G., если сегодня меньше, чем start_date, не получите его, и если сегодня больше, чем exp_date, не получите его».

0

Здесь вы найдете: $ today = сегодняшняя дата.

$today = date();  
$pass_check = $this->CI->db->select('code')->from('coupons')->where(array('title'=>'Booyah'))->$this->db->where("$date BETWEEN start_date and exp_date")->get(); 
$pass_check = $pass_check->result_array(); 
+0

Это значение '$ date' как столбца db. –

Смежные вопросы