2010-07-25 72 views
0

嘿,我想知道如何從我的數據庫檢索數據使用PHP來獲得今日的頂級歌曲。檢索數據Mysql/Php日期

現在,我使用

$result = mysql_query("SELECT tag, COUNT(*) AS the_tags FROM tags GROUP BY tag ORDER BY the_tags DESC LIMIT 16"); 

我也存儲在標籤表藏漢日剛開歌曲排行榜,在格式

2010年7月25日

所以月 - 日 - 年

我怎樣才能限制結果標籤與今天的日期?

謝謝:)

回答

2

另一種方式來做到這一點:

"SELECT tag, COUNT(*) AS the_tags FROM tags WHERE `date` = '" . date('m-d-Y') . "' GROUP BY tag ORDER BY the_tags DESC LIMIT 16"

但我更喜歡使用MySQL的日期(所以我會說看到artefacto的帖子)

1
...FROM tags WHERE date_field = DATE_FORMAT(CURDATE(), '%m-%d-%Y')... 
+0

它不應該是「%間%D-%Y」,他說,他被存儲日期一個月後 - 日 - 年?否則,這是最好的方法。 – User123342234 2010-07-25 22:14:47

+0

@Josh是的,謝謝。 – Artefacto 2010-07-25 22:24:49

-2

我我也將日期存儲在tags表格中,格式爲07-25-2010

唯一的解決方案是改變這種荒謬的格式爲適當的 - YYYY-MM-DD並將其存儲在DATE類型的適當字段中。你很快就會改變它,減少未來的頭痛。你沒有別的辦法。它是數據庫體系結構的基礎。將有大量的情況下,你自己的格式將無法正常工作。數據庫將不得不每次爲表中的每一行進行轉換。這是殺死數據庫的最有效方法。
更改代碼變得

$sql = "SELECT tag, COUNT(*) AS the_tags FROM tags WHERE tag_date = curdate() 
        GROUP BY tag ORDER BY the_tags DESC LIMIT 16" 
$result = mysql_query($sql) or trigger_error(mysql_error().$sql); 
+1

這不是解決問題的唯一方法。我同意存儲'MM-DD-YYY'是一個可怕的想法。 – 2010-07-25 20:12:54

+0

噢。也有成千上萬的方法可以在一條腿上拍攝自己。當然。 – 2010-07-25 20:15:14

+0

如果要求在腿部自行拍攝,可以選擇(救護車待命,坐下,而不是在窗臺等):P – Wrikken 2010-07-25 20:52:16