[英]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.