2012-10-19 103 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