2011-11-28 58 views
0

我无法决定如何从mysql数据库中获取最新插曲ID。今天的日期发生变化的SQL查询

我需要的是抓住过去最新的air_date,但如果这集在今天播出,那么这个回归。我拥有的代码无法正常工作,我想我错过了一些东西。如果任何人有任何建议,如何做到这一点,我将不胜感激:

$today = mktime(0, 0, 0); 

"SELECT `id` FROM `hm_episodes_main` 
WHERE `show_id` = '{$iShowId}' 
AND `episode_voting` = 'Yes' 
AND `air_date` < '{$today}' 
ORDER BY `air_date` DESC" 
+0

也许我错过了一些东西,但它听起来像你只需要最近的空气日期。因为如果这集在今天播出,那么这是最近的。如果今天播出这个问题,那么这个日期不算作'air_date'? –

+0

过去最近的空气日期。但是,如果空气日期是晚上7点,它是上午11点,它不会在过去,但在考虑它时,我可能只是回答了我的问题。我只是做一个检查,看看今天是否有一集,然后如果没有继续过去。 – tmartin314

回答

1

我想你可能只需要修改现有的查询,包括当前日期:

air_date< =' {$ today}'

0

如果我理解正确,air_date是一个纪元时间戳。如何:

SELECT `id` 
    FROM `hm_episodes_main` 
    WHERE `show_id` = ?     -- plug $iShowId in here 
      AND 
      `episode_voting` = 'YES' 
      AND 
      `air_date` <= UNIX_TIMESTAMP() -- no need for mktime() 
ORDER BY `air_date` DESC 
    LIMIT 1;