0

我有一张表,其中包含有开始和结束日期的事件。我希望能够将今天的事件打印在一个列表中(以及接下来的 3 天),所有事件不超过 25 个。所以如果一个事件是上周开始并在一周后结束的,它将打印今天、明天、并在列表中的第二天。如果活动明天开始,它不会打印今天,而是明天和第二天打印。如果一个活动在一周前开始并在明天结束,它会在今天打印,明天打印,而不是后天打印

我如何通过 php 获取 mysql 以查找今天是否在开始和停止日期字段的范围内。

CREATE TABLE IF NOT EXISTS `iwia_events` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `event_title` varchar(255) NOT NULL DEFAULT '',
  `event_location` varchar(255) DEFAULT NULL,
  `event_price` varchar(20) DEFAULT NULL,
  `event_image` varchar(255) DEFAULT NULL,
  `event_url` varchar(200) DEFAULT NULL,
  `event_start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `event_stop` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `event_text` text,
  `extra_info` text,
  `active` enum('0','1') NOT NULL DEFAULT '1',
  `categories` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
4

1 回答 1

2

您希望开始日期小于今天,结束日期大于今天,不是吗?

SELECT * FROM iwia_events WHERE event_start< now() AND event_stop > now()

SQL小提琴示例与您的数据结构在这里http://www.sqlfiddle.com/#!2/ee5dd/1/0

于 2013-08-28T17:33:55.813 回答