2010-12-23 4 views
1

J'essaie d'obtenir tous les enregistrements juste pour aujourd'hui, mais ayant des problèmes. Une autre chose que je ne sais pas comment prendre en compte est que mon serveur est en avance de deux heures par rapport à mon heure locale, donc je vais devoir déterminer le décalage. Je suis en train de régler le moment où j'insère les données mais je ne sais pas comment le faire en cas de récupération si j'en ai besoin.obtenir des enregistrements mysql juste à partir d'aujourd'hui avec offset

mysql_query("SELECT `* FROM table WHERE DATE_SUB(CURDATE(),INTERVAL 1 DAY) <= `date` AND `alert_status` ='0'") or die(mysql_error()); 

Je pense qu'une partie du problème est le <= j'ai essayé juste en utilisant = et == mais ni travaillé.

Répondre

1

Quel est exactement le problème que vous rencontrez? Que voulez-vous dire quand vous dites que cela ne fonctionne pas?

Je vois une erreur de syntaxe (le backtick juste avant l'astérisque), mais je ne suis pas sûr de savoir quel est votre problème. Cet appel DATE_SUB me semble raisonnable.

Modifier: essayer quelque chose comme ceci:

WHERE `date` BETWEEN DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND CURDATE() 

... qui est juste une façon élégante de le faire:

WHERE `date` >= DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND `date` <= CURDATE() 
+0

Je suis en train de seulement obtenir les dates d'aujourd'hui. Actuellement, il reçoit des dates aujourd'hui et plus tard. Je suis également préoccupé par le décalage horaire. (L'astérisque était juste un type de tirer dans la pile) – BandonRandon

+0

J'ai essayé de mettre à jour ma réponse en réponse à ce que vous avez dit. Vous pourriez être un peu plus précis sur ce qui ne fonctionne pas - avez-vous des problèmes parce que CURDATE() utilise l'heure du serveur? Les dates que vous insérez sont-elles ajustées pour être correctes dans le fuseau horaire du serveur? Si non, alors vous devrez faire quelque chose comme le DATE (DATE_SUB (MAINTENANT(), INTERVAL 2 HEURES)) à la place des appels CURDATE(). – TehShrike

Questions connexes