Smarty if语句与日期和& date = month>显示结果

时间:2016-01-11 21:20:29

标签: php date smarty whmcs smarty3

我从数组获得了表格,并且不同日期的数量为$$$。

示例:

-08 / 10/2015 |金额:2500 $
-19 / 10/2015 |金额:1000美元 -20/11/2015 |金额:500 $
-27/11/2015 |金额:720 $
-30/12/2015 |金额:100 $
-31/12/2015 |金额:250美元

我在smarty模板中的当前代码是:

                {foreach from=$referrals item=referral}
                    {if $referral.date eq "08/10/2015"}
                            {assign var="sum" value="`$sum+$referral.amount`"}
                    {/if}
                {/foreach}
                    <td>{$sum|number_format:2:",":"."} ден.</td>
                {assign var="sum" value=0}

我只获得日期的总金额:2015年10月8日

我的问题是如何获取10月份整个月(10月)或11月份整个月份(11月份)以及以月份分隔的全年的总金额,仅限于非金额0(零),因为我也有这样的金额?

这是我的数组(包含超过136个数组):

Smarty_Variable Object (3)
->value = Array (137)
  0 => Array (11)
    id => "1514"
    date => "05/01/2016"
    service => "Рамка со податоци"
    package => "Рамка со податоци"
    userid => "500"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  1 => Array (11)
    id => "1515"
    date => "05/01/2016"
    service => "Лого со податоци"
    package => "Лого со податоци"
    userid => "500"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  2 => Array (11)
    id => "1496"
    date => "29/12/2015"
    service => "Рамка со податоци"
    package => "Рамка со податоци"
    userid => "493"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  3 => Array (11)
    id => "1497"
    date => "29/12/2015"
    service => "Лого со податоци"
    package => "Лого со податоци"
    userid => "493"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  4 => Array (11)
    id => "1498"
    date => "29/12/2015"
    service => "Реклама во црно-бела техника на 1/6 -..."
    package => "Реклама во црно-бела техника на 1/6 -..."
    userid => "493"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"
  5 => Array (11)
    id => "1500"
    date => "29/12/2015"
    service => "Лого и мапа на www.abv.mk"
    package => "Лого и мапа на www.abv.mk"
    userid => "493"
    amount => "0.00"
    billingcycle => "One Time"
    amountdesc => "0,00 ден. One Time"
    commission => "0,00 ден."
    lastpaid => "Never"
    status => "Active"

1 个答案:

答案 0 :(得分:1)

*//sum for october month*

{assign var="sum" value=0}

{foreach from=$referrals item=referral}

  {if $referral.date|date_format:"%m" == 10 && $referral.amount != 0}

     {assign var="sum" value=$sum+$referral.amount}

  {/if}

{/foreach}

*//display sum*

{$sum|number_format:2:",":"."}