我有一个事件表,其中包含开始日期和停止日期。我希望能够在列表中打印出今天的事件(以及接下来的3天),列出所有不超过25天的事件。因此,如果一个活动从上周开始,一周后结束,它会在列表中打印今天、明天和第二天。如果事件明天开始,它将打印而不是今天,将打印明天和第二天。如果事件在一周前开始并在明天结束,则会在今天、明天和NOT第二天打印
我如何通过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 ;
您希望开始日期小于今天,结束日期大于今天,不是吗?
SELECT * FROM iwia_events WHERE event_start< now() AND event_stop > now()
SQL在这里篡改了您的数据结构示例http://www.sqlfiddle.com/#!2/ee5dd/1/0