2015-01-08 173 views
1

我只是想運行一個腳本,將每週從我的MySQL數據庫中的列添加一切。現在我試圖讓PHP檢查日期是否是星期六,然後它將從數據庫中取出最後6天(行),並將列(它是數字)下的行添加到一起。有沒有更簡單的方法來從一週內添加所有內容?如果不是,我將如何檢查日期(行)是否是星期六? 編輯: 我的數據庫結構是: ID 日期 total_miles 評論 的total_miles柱爲int,這就是我需要一起每週通過檢查的日期是星期六如何檢查日期是星期六(或週末)使用php

+0

向我們展示您的查詢,因爲它是現在。另外,爲什麼在PHP中做到這一點?爲什麼不做查詢? – Brad

+0

需要更多關於你的問題的細節。也許你還應該提供你的數據庫結構 –

+0

*「有一種更簡單的方法可以將一切從一週添加到一起?」* - 首先向我們展示你的方式。 –

回答

2

從MySQL添加文檔http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek

DAYOFWEEK(date) 

Returns the weekday index for date (1 = Sunday, 2 = Monday, …, 7 = Saturday). These index  values correspond to the ODBC standard. 

mysql> SELECT DAYOFWEEK('2007-02-03'); 
     -> 7 

如果我想組東西放在一起根據平日,我可能會使用:

SELECT SUM(total_miles) FROM tablename GROUP BY WEEK(id); 

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_week

補充:

您可以在SELECT語句中選擇一週(ID)或DAYOFWEEK(ID),在PHP以後使用。

如果你想要做同樣在PHP(在一般情況下,做的事情在SQL如果可以的話,但也有奇怪的情況下),你可以使用PHP date命令做同樣的 - 看到http://php.net/manual/en/function.date.php(假設你有該日期作爲unix時間戳;如果沒有進一步閱讀下來)。

您可以使用'D'格式獲取星期幾的名稱,'N'或'w'來獲取星期幾的數字或'W'來獲得星期NUMBER在一年中。

如果您將日期作爲DateTime或作爲文本(可以輕鬆轉換爲DateTime),則可以使用DateTime :: format - 請參閱http://php.net/manual/en/datetime.format.php上的示例 - $ format參數與到上面的日期函數。

+0

謝謝。它運作良好。如果我使用php從我的數據庫中獲取該數據,我到底該如何使用它 – wxrunning

+0

我該怎麼做。因爲你的答案是在SQL中。我可以用php從數據庫中得到一行,但如果它是一個函數,你會怎麼做? – wxrunning

+0

你能回答我的問題嗎?我可以使用dayofweek('2007-02-03')和sum(total_miles)做select語句,但是如果在dayofweek函數中,如何使用mysql_fetch_assoc從行中獲取數據呢? – wxrunning

0

date("l",$timestamp)date("w",$timestamp)可以使用PHP檢查星期幾。

如果是mysql數據庫日期格式,您可以使用date("w",strtotime($date))來了解星期幾。

請參閱:date()strtotime()

相關問題