2013-02-25 75 views
0

我想从我的表中得到结果,有类型1,2或3,每个事件都有一个日期。我试图只展示未来的事件并对其进行排序。下面的代码有点不错,除了按日期排序之外,它只是根据事件输入数据库的顺序进行排序。MySQL PHP与未来日期排序

$sql = " SELECT * 
      FROM fitness 
      WHERE type = '3' 
      AND date >= CURRENT_DATE() 
     ORDER BY 'date' ASC"; 

在此先感谢您的帮助!

回答

0

你有'日期'在单引号,这意味着文字字符串日期。

取出单引号。

此外,您不会说您的日期列是否为DATE,DATETIMETIMESTAMP项目。如果它是一个DATE项目,如果它们中的许多具有相同的日期,则不会有太多区分您的事件。

最后,DATE是保留字。您可能会通过将其用于列名称而使MySQL感到莫名其妙。如果我是你,我会改变它。

0

尝试:

$sql = "SELECT * 
     FROM fitness 
     WHERE type = '3' 
     AND date >= CURRENT_DATE() 
     ORDER BY date ASC"; 

公告日期周围没有单引号。如果这不起作用,请尝试以下操作。

$sql = "SELECT * 
     FROM fitness 
     WHERE type = '3' 
     AND `date` >= CURRENT_DATE() 
     ORDER BY `date` ASC"; 

在这种情况下,使用反标字符`而不是单引号。这是因为“日期”是保留字。