2011-04-06 56 views
1

我想从今天起改变mySQL请求来请求数据库中的所有事件。现在它只是在星期几要求所有事件。这是我的:如何让查询询问所有未来日期而不是今天?

$query = "SELECT * FROM events WHERE date(convert_tz(StartDate,'+00:00','". $numric_time."'))='$currentDate' AND UserID='" . $_SESSION['userData']['UserID'] ."' ORDER BY StartTime"; //getting date's agendas 

谢谢!

回答

1
SELECT * 
FROM events 
WHERE StartDate >= CURDATE() 
    AND... 

如果您需要的时区偏移,改变使用CURDATE() +/- INTERVAL x HOUR查询,在功能包装的StartDateCONVERT_TZ导致MySQL不使用任何索引该列。

+0

我确实需要那个时区偏移量。你能解释一下如何保持时区内容?我是新手。谢谢! – Joel 2011-04-06 05:25:00

+0

@joel如果你能够得到一个数字偏移量而不是格式化的字符串(例如'2'而不是'+2:00'),查询将如下所示:WHERE StartData> = CURDATE() - INTERVAL 2 HOUR ' – 2011-04-06 05:29:12

+0

嗯。我不确定是否可以这样做,因为我相信这个变量在代码的其他地方用于其他地方。 – Joel 2011-04-06 06:06:54