2017-06-05 70 views
-2

我有优惠券,并希望在创建日期后获得使用促销代码的所有行。从指定日期中选择所有销售

每个销售都有时间戳,创建的优惠券有时间戳。我想选择优惠券后的所有销售。

继承人我有。

$coupon = $this->db->query("SELECT * FROM group_coupon WHERE code='test' AND active='1'"); 


if (count($coupon) > 0) { 


    $amount = $this->db->query("SELECT * FROM group_coupon WHERE code='test'")->row()->amount; 

    $quantity = $coupon->row()->quantity; 
    echo "Quantity: " . $quantity; 

echo "Time: " . $coupon->row()->timestamp; 

// I know the query is wrong 
$time_st = $coupon->row()->timestamp; 
    $all = $this->db->query("SELECT * FROM sale WHERE coupon='test' AND $time_st > timestamp")->row()->coupon; 

// then id like to do a count($all) 

} 
+0

与此代码会发生什么?你正在使用SQL服务器或MySQL? – chris85

+0

mysql --------- – Gilbert

+0

好的,这段代码会发生什么?错误,不正确的结果,其他? – chris85

回答

0

您已经犯了一点逻辑错误。

假设您正在查看的优惠券是在下午1点进行的,并且该时间由数字100表示​​(在此情况下为$time_st)。然后,在下午2点之后的一个小时还有另一张优惠券,以200(timestamp)表示。然后检查是否$time_st > timestamp,这个评估结果为100 > 200,这是不正确的。

你想要做的是检查你正在检查的优惠券的时间戳是小于其他时间戳,所以你知道他们是在未来制造的。

您的查询应该是:

$all = $this->db->query("SELECT * FROM sale WHERE coupon='test' AND $time_st < timestamp")->row()->coupon; 
相关问题