簡體   English   中英

MYSQL和PHP計算每天和每月的訂單總價表,填充新的匯總表

[英]MYSQL and PHP calculate total price of orders table every day and every month, populate new summary table

我的數據庫上有訂單表(id_order,價格,desc,交貨),我需要計算每天的總價格

我用這個

$date = date("Y-m-d"); 

$query55 = "SELECT id_order, price FROM orders WHERE delivery LIKE '%$date%'";
$result55 = mysql_query($query55) or die(mysql_error());

while ($row55 = mysql_fetch_array($result55))
{
$currency = $row55['id_currency'];
$id = $row55['id_order'];

    if ($currency == "1")
{
    echo '
        <tr>
        <td style="width: 120px;">' . $id_order . '</td>
        <td style="width: 120px;">EUR</td>
        <td style="width: 170px;">' . $row55['price'] . '</td>
        </tr>

';
        $somma_paid += $row55['price'];

}

它有效

最后,我的總天數為$ somma_paid變量。

我想每年自動進行一次。 因為我需要全部。 每30/31天總計需要30/31行

每天我必須執行此腳本。 我可以每月修改一次,以要求每月總計嗎? 我認為我沒有很好地解釋它。

另一個:我可以在一天之內做到這一點,可以在今天之前的整年中做到這一點嗎?

我用了所有年份的日期和這個字段(日期,價格)制作了另一個表格,我想將此表格填充為新的要求。

您可能要按一年中的某一天分組。 最好的方法是這樣的:

SELECT id_order, price FROM orders WHERE 1 GROUP BY YEAR(`delivery`),
MONTH(`delivery`), DAY(`delivery`) ORDER BY `delivery`

因此,如果您每天想要一筆款項:

SELECT SUM(price) FROM orders WHERE 1 GROUP BY YEAR(`delivery`),
MONTH(`delivery`), DAY(`delivery`) ORDER BY `delivery`

或者,如果您想用日期格式化結果,則可以將%j date_format用於date_format表示年份(從001到366),或者將日期date_format格式化為帶有%d-%m-%Y的格式。像2013年12月31日(dd-mm-yyyy)

SELECT SUM(price), DATE_FORMAT(`delivery`,'%j') as `dayoftheyear`, DATE_FORMAT(`delivery`,'%d-%m-%Y') as `date` FROM `orders` WHERE 1 GROUP BY YEAR(`delivery`), MONTH(`delivery`), DAY(`delivery`) ORDER BY `delivery`

現在,您可以使用$row55['dayoftheyear']$row55['date']顯示一年中的某天和格式化日期。

或根據w3schools文檔定義自己的格式(便於閱讀): http : //www.w3schools.com/sql/func_date_format.asp或mysql文檔: http : //dev.mysql.com/doc/refman /5.5/en/date-and-time-functions.html#function_date-format

@luceos您不使用求和函數嗎?

EG:從總訂單中選擇“總和”(價格),其中“按年”(交付),“月”(交付),“天”(交付),“訂單”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM