2012-10-19 183 views
1

SQL查詢SELECT,訂單日期SQL查詢SELECT,ORDER

您好,我需要從我的表的日期,問題是,我有超過130行,每天都將增長。我想將它縮短並在查詢中選擇相當於今天date=date("Y-m-d")的日期和從今天起更大的日期。

它可以是今天的日期變量,因爲我使用日期選擇來在日期之間進行分頁。我知道我可以使用時間戳,但我不知道如何在查詢中實現它。

$r = mysql_query("SELECT date FROM yoman ORDER BY date ASC,time ASC ") 
      or die(mysql_error()); 

我希望你會unserstand,http://attiatech.com/projects/tours/index.php?db=cmVsXzIwMTI=這是鏈接,儘量挑選2012年1月10日,看看有多少行印刷,我有分頁查看第二個選項,但我想在此查詢篩選它也。

+0

你可以概述你的表的結構,即列與他們的類型? –

+0

我希望你會不喜歡,http://attiatech.com/projects/tours/index.php?db=cmVsXzIwMTI=這是鏈接,嘗試選擇1.10.2012,看看有多少行打印,我有查看分頁的第二個選項,但我想在這個查詢過濾它。 –

回答

0

我假設你存儲日期爲字符串 「Y-M-d」。

這可能是更好地使用這雖然爲表列類型:

http://dev.mysql.com/doc/refman/5.1/en/datetime.html

所以如:

$startdate= date("Y-m-d", $day); 
$enddate= date("Y-m-d",strtotime("+1 day", $day)) - 1; 

SQL去取每天都會這樣:

SELECT * 
FROM yoman 
WHERE date BETWEEN $startdate AND $enddate 
ORDER BY date ASC,time ASC 
+0

也可以使用mysql限制子句進行分頁:LIMIT $ pos,10但這似乎並不是您所要求的。 – Adder

0

你在找這樣的:

set @dte=sysdate(); 

select sysdate() 
SELECT date 
FROM yoman 
where date>[email protected] 
ORDER BY date ASC,time ASC 
-2
SELECT date FROM yoman ORDER BY date,time ASC 
+0

您的查詢不會執行過濾功能的請求... – Marcx

0

如果你想要所有的行與今天和未來的日期,你可以使用可怕沒有php的sql查詢,只是使用curdate(),否則如果你使用sysdate()current_timestampetc它也會檢查時間,你不希望它,因爲如果你在上午10點啓動查詢,你不會得到上午10點之前的所有行一天...

SELECT date FROM yoman WHERE date >= CURDATE() ORDER BY date ASC, time ASC