【问题标题】:How to use the start and expiration date of a promotion from a CodeIgniter database?如何使用 CodeIgniter 数据库中促销的开始和到期日期?
【发布时间】:2015-10-23 05:08:35
【问题描述】:

我想从 CodeIgniter 数据库中获取promotionstart_dateexpire_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

【问题讨论】:

  • 预期输出是什么?你想获取今天的门小于到期日期且大于开始日期??
  • 示例我想在 2015 年 1 月 10 日和 2015 年 10 月 10 日结束
  • 好的,但是你想如何获取数据??请详细说明一下。
  • 或其他促销活动 12/10/2015 至 20/10/2015
  • 但在我从来没有这样做之前你能帮我吗?

标签: php codeigniter session


【解决方案1】:

根据讨论,您希望获取开始日期和到期日期之间的记录

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

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

【讨论】:

  • 好吧 q Niranjan N Raju 我会测试它
  • 嗨 Niranjan 抱歉,今天某天客户想要促销
  • 这意味着有一天我想推广
  • 我做了这段代码,但我得到了空白页 $this->db->where('start_date >= ' , date('Y-m-d')); $this->db->where('expire_date db->get('promotion');
  • 你的代码 WHERE start_date >= '2015-10-23' AND expire_date
【解决方案2】:

使用 where 条件,如下所示。

$this->db->where('start_date >= ' , date('Y-m-d'));
$this->db->where('expire_date <= ' , date('Y-m-d'));
$query = $this->db->get('promotion');

您将在此处获得更多信息

https://ellislab.com/codeigniter/user-guide/database/active_record.html

【讨论】:

  • 我关注了你,但它是空白页。
  • 这是因为您在数据库中的日期格式为“d-m-Y”,而 where 语句的格式为“Y-m-d”,因此它们不匹配。 MySQL 日期格式是 (Y-m-d) 所以我会更改它们以匹配它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-23
相关资源
最近更新 更多