显示Magento SOAP API中缺少的月份



这是显示每月总销售额的代码

foreach ($truecats as $month => $values) 
{
     $totdailysale=0;
     echo "<tr><td>$month</td>";
     foreach ($values as $val) 
     {
        $totdailysale+=$val;
        // echo "<td>$totdailysale</td></tr>";
     }
    echo "<td>$totdailysale</td></tr>";
  }

这给出了以下输出:

Date    Amount
 Aug    175.93
 Oct    439.9
 Nov    956.98
 Dec    1350
 Jan    109

在这里,我得到了 6 个月前的记录。 没有来自 SEP 的数据,所以我的 API 没有获得 SEP 月。但我想展示 SEP AS 0 销售。

试试这个

<?php
$truecats['Aug'] = array(15, 10);
$truecats['Oct'] = array(12, 10);
$truecats['Nov'] = array(11, 10);
$truecats['Jan'] = array(16, 10);
$arr_months = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
$start=true;
echo '<table>';
foreach ($truecats as $month => $values) 
{
    $month_key = array_search($month, $arr_months);
    if($start)
    {
        $key = $month_key;
        $start = false;
    }
    while($key!=$month_key)
    {
        echo "<tr><td>".$arr_months[$key]."</td>";
        echo "<td>0</td></tr>";
        $key+=1;
        if($key==12)
        {
            $key=0;
        }
    }

        $totdailysale=0;
        echo "<tr><td>$month</td>";
        foreach ($values as $val) 
        {
            $totdailysale+=$val;
        }
         echo "<td>$totdailysale</td></tr>";
    $key+=1;
    if($key==12)
    {
        $key=0;
    }
 } 
 echo '</table>';
?>

更新 2 :

如果要从第 Jan 个月开始

修改上面的代码

if($start)
    {
        $key = $month_key;
        $start = false;
    }

if($start)
    {
        $key = 0;
        $start = false;
    }

最新更新