2016-02-29 57 views
0

大家好,我想從我的表中選擇從過去的24小時,7天,14天的所有記錄....(我的sql時間跨度格式是日期(「l,M d Y,h:我:■A「)),所以當我嘗試接收來自最後24小時中的數據不是爲我工作的任何幫助PLZ 爲例 如果我從獲取最近24小時來自SQL的數據

$result = mysql_query("SELECT * FROM stats"); 

結果得到的所有日期是星期,日期,時間計數

Saturday, Feb 27 2016, 02:28:59 PM 27191 Saturday, Feb 27 2016, 03:28:05 PM 28659 Saturday, Feb 27 2016, 04:27:26 PM 30138 

,所以我嘗試這樣的,沒有工作的任何幫助PLZ

$result = mysql_query("SELECT * FROM stats WHERE timespan >= now() - INTERVAL 1 DAY"); 
+0

**停止進行比較**'mysql_ *'API。使用'mysqli_ *'或PDO – Jens

+0

時間跨度列的數據類型是什麼?它是日期還是varchar? –

+0

VARCHAR CREATE TABLE'stats'( 'id' INT(11)NOT NULL AUTO_INCREMENT, 'timespan' VARCHAR(200)DEFAULT NULL, 'visits' INT(11)DEFAULT NULL, PRIMARY KEY('ID ') )ENGINE = InnoDB AUTO_INCREMENT = 24 DEFAULT CHARSET = latin1; – Tim

回答

0
SELECT * FROM stats WHERE STR_TO_DATE(timespan,"%W, %b %d %Y, %h:%i:%s %p") >= date_sub(now(), INTERVAL 1 DAY) 

STR_TO_DATE將您的字符串轉換成日期格式(年月日H:I:S)使用depicates,然後你可以用()現在返回的日期

+0

我剛剛測試,我沒有得到任何resulte是空白頁面我的發送數據是日期(「l,M d Y,h:我:s A」)) – Tim

+0

固定和這裏的(date(),INTERVAL 1 DAY) thx幫助 – Tim

0

這應該有效。確保「時間跨度」存在並且它是一個日期。根據你的例子,你應該在「日期」字段進行測試。

+0

thx男子我測試,我得到工作 – Tim

相關問題