2015-12-02 27 views
2

我有一个for循环显示出现日历中的24个优惠。在当天提供优惠,过去一天优惠给予过期的课程,并且将来的一天优惠被禁用。For循环与某些项目需要在特定的几天的不同类别的某些项目

但也有一些天凡可超过1天报价范围,可能是7,3等

所以我的问题是如何让我的除了某些日子?

我的想法是,我需要做的,如果i[7]item DIV的else if声明...

else if ($today[mday] > $i) { echo "expired"; }

<?php for ($i = 1; $i < 25; $i++) { ?> 
<a href="offer.php?day=<?php echo $i; ?><? echo '&dealership='. $dealership; ?>" class="item <? if ($today[mday] == $i) { echo " current yellow"; } else if ($today[mday] < $i+1) { echo "disabled gift"; } else if ($today[mday] > $i) { echo "expired"; } ?>"> 
    <div class="offer"> 
     <h2>Day <?php echo $i; ?>.</h2> 
     <span class="unavailable">No Longer Available</span> 
     <p><? echo call_user_func('Day_'.$i.'_Offer', 'CAL_OFFER'); ?></p> 
     <? echo $termsLink; ?> 
    </div> 
    <div class="offer-img"> 
     <img src="img/day<?php echo $i; ?>.jpg"> 
    </div> 
</a> 
<?php } ?> 
+0

'for($ i = date(“d”); ...){...}'可能是你正在寻找的东西,它会得到当前的日子,并将它变成'$ i',即今天会让'$ i = 02' –

+0

这个问题是它不包括过去的日子,所以day1不会包含在循环中。 – Amesey

回答

1

如果你有24点的优惠,并希望进行一些优惠提供更创建一个数组,天数为有效天数:

$offer = array(1, 1, 1, 3, 1, 1, 7 ...); 

$today = intval(date('j')); 

for ($i = 1; $i < 25; $i++) { 
    if ($today >= $i && $today < $i+$offer[$i-1]) 
     // Current offer 
    else if ($today > $i) 
     // Expired 
    else 
     // Disabled 
} 

已更新已在今天新增$并修复了第一条if语句的问题

+0

谢谢你工作:)。我知道这是一个单独的问题,但如果我想手动设置$今天为第7天只是为了测试我会怎么做? – Amesey

+0

哈哈!尝试更改'$ today = intval(date('j'));'to'$ today = 7;' –

+0

谢谢,我只是用一个数字替换'j':) – Amesey

相关问题