2010-07-25 8 views
1

J'essaie de créer un MySQL personnalisé pour l'utiliser avec le CMS Expression Engine. Le but de la requête est d'afficher les événements qui se produisent aujourd'hui ou dans le futur.Aide avec un horodatage MySQL Unix Requête

Le problème est le type de champ EE qui vous permet de mettre la date et de la convertir en horodatage unix. Si je choisis le 26 juillet il met dans la valeur de date "25 juillet 23:00".

Comme vous le voyez dans ma requête ci-dessous, cela fonctionne presque, mais j'ai besoin d'ajouter 24 heures sur les valeurs qui sont utilisées dans la partie conditionnelle de l'instruction. Je souhaite que les événements qui se produisent le jour «par exemple aujourd'hui le 25 juillet» soient affichés jusqu'à 23 heures ce jour-là, puis supprimés. Je l'ai presque je suis juste coincé sur la façon d'ajouter 24 heures au conditionnel.

  SELECT t.entry_id, 
         t.title, 
         t.url_title, 
         d.field_id_13 AS event_lineup, 
         d.field_id_14 AS event_details, 
         d.field_id_15 AS event_day, 
         d.field_id_16 AS event_flyer_front, 
         d.field_id_17 AS event_flyer_back, 
         d.field_id_18 AS event_facebook, 
         d.field_id_12 AS event_date 
      FROM `exp_weblog_titles` AS t 
NATURAL JOIN `exp_weblog_data` AS d 
      WHERE d.weblog_id = 5 
       AND CAST(d.field_id_12 AS UNSIGNED) >= (unix_timestamp(Now())) 
     ORDER BY d.field_id_12 ASC 

Répondre

0

Ce que je pense qui pourrait se produire est votre horodatages sont ajustés pour le fuseau horaire et que l'ajustement est configuré différemment dans le CMS et sur le serveur.

+0

J'ai réussi à le trier en faisant (unix_timestamp (maintenant()) - 86400) – Andy