php – 如何使用CodeIgniter数据库中的促销的开始日期和到期日期?

我想从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')); 
 ?>

您可以在某个变量中使用今天的日期并在查询中使用.

点赞