如何在php和mysql中获得每月销售总额?

时间:2013-02-22 14:13:34

标签: php mysql

我有以下代码查询数据库并显示结果:

<?php
include('connect.php');
$query="SELECT date1,month(date1) as month1,year(date1)as month2,(month( date1 )-month(date1 )) as difference,SUM(gtotal) AS daily_total,COUNT(id) AS num_orders FROM `sale` 
    where date1>='2012-01-28' AND date1<='2013-01-31' and tax_name='C.S.T. 4% ON SCRAP' and tin='Applied For' GROUP BY date1 ";

$qt=mysql_query($query);
echo mysql_error();
echo "<table border='1' cellspacing='1' cellpadding='0' width='400'>
    <tr valign='top' bgcolor=#363636 style='color:#ffffff;'>
        <td><b>No. of orders</b></td>
        <td><b>Date</b></td>
        <td><b>Month<br>(dt)</b></td>
        <td><b>Year<br>(dt2)</b></td>
        <td><b>difference</b></td>
    </tr>";
while($nt=mysql_fetch_array($qt))
{
    echo "<tr valign='top'>
        <td><font face='Verdana' size='2' >$nt[num_orders]</font></td>
        <td><font face='Verdana' size='2' >$nt[date1]</font></td>
        <td><font face='Verdana' size='2' >$nt[month1]</font></td>
        <td><font face='Verdana' size='2' >$nt[month2]</font></td>
        <td><font face='Verdana' size='2' >$nt[difference]</font></td>
         </tr>";

echo "<tr bgcolor=#c2c2c2>
    <td colspan=3></td>
    <td><b>Month Total</b></td>
    <td>$nt[daily_total]</td>
      </tr>";
}

echo "<tr valign='top'><td colspan=5></td></tr>";

$query1="SELECT * FROM `sale` where date1>='2012-01-28' AND date1<='2013-01-31' and  tax_name='C.S.T. 4% ON SCRAP' and tin='Applied For' and gtotal ";

$qt1=mysql_query($query1);
echo mysql_error();
$num=mysql_num_rows($qt1);
if($num)
{
    $p=0;
    $q=0;

    while($nt1=mysql_fetch_array($qt1))
    {
        $p=$p+$nt1['gtotal'];
        $q=$q+$nt1['subtotal'];
    }
}
echo "<tr valign='top' bgcolor=#c6c6c6>
    <td><font face='Verdana' size='2' >$C</font></td>
    <td><font face='Verdana' size='2' ><b>subtotal<br></b></font></td>
    <td><font face='Verdana' size='2' >$q</font></td>
    <td><font face='Verdana' size='2' ><b>gtotal<br></b></font></td>
    <td><font face='Verdana' size='2' >$p</td>
      </tr>";

echo "</table>";
?>

但我要计算数百个数据项。假设我在1月份有5个数据项,它们都应该在5行中看到,月末应该是月总数,依此类推,直到12个月。 例如,请看这张照片: - month_total我希望您能理解我的问题,并可以帮助我。

1 个答案:

答案 0 :(得分:1)

mysql select sum group by date

SELECT MONTHNAME(o_date), SUM(total) 
FROM theTable
GROUP BY YEAR(o_date), MONTH(o_date)

或者你用PHP计算月总和:

$query="SELECT date1, month(date1) as month,year(date1) as year,SUM(gtotal) AS daily_total FROM `sale` GROUP BY date1 ORDER BY date1";
$qt=mysql_query($query);
$month_total=0;
$last_month_year='';
while($nt=mysql_fetch_array($qt))
{
    if($last_month_year=='')
        $month_total=$nt['daily_total'];
    elseif($last_month_year==$nt['month'].$nt['year'])
        $month_total+=$nt['daily_total'];
    else
    {
        $month_total=$nt['daily_total'];
        echo "Month total: ".$month_total."<br>";
    }
    echo $nt['date1'].": ".$nt['daily_total']."<br>";
    $last_month_year=$nt['month'].$nt['year'];
}
相关问题