我想从CodeIgniter数据库中获取促销的start_date和expire_date,以便促销自动出现在start_date上并在expire_date之后消失.
我怎样才能做到这一点?
这是数据库的布局:
promotion:
id(primary,autmatic),
image(varchar,255),
description(longtext),
start_date(datetime),
expire_date(datetime),
内容的一个例子如下:
id image description start_date expired_date
1 1.jpg textpromo1 1/10/2015 5/10/2015
2 2.jpg textpromo2 8/10/2015 22/10/2015
2 3.jpg textpromo3 1/11/2015 12/11/2015
这是我在视图中的查询代码
<?php $query = $this->db->get('promotion'); ?>
<?php foreach($query->result() as $val): ?>
<div class="promotion">
<p><?php echo image; ?></p>
<p><?php echo description; ?></p>
<p><?php echo start_date; ?></p>
<p><?php echo expired_date; ?></p>
</div>
<?php endforeach; ?>
结果如下:
1.jpg textpromo1 1/10/2015 5/10/2015
2.jpg textpromo2 8/10/2015 22/10/2015
3.jpg textpromo3 1/11/2015 12/11/2015
最佳答案 根据讨论,您希望在开始日期和到期日期之间获取记录
SELECT *
FROM promotion
WHERE start_date <= '2015-10-23' AND expire_date >= '2015-10-23'
在codeigniter中这样做,
<?php
$this->db->where('start_date <= ' , date('Y-m-d'));
$this->db->where('expired_date >= ' , date('Y-m-d'));
?>
您可以在某个变量中使用今天的日期并在查询中使用.