RE: [PHP-DB] SELECT
| From: | Ford, Mike | Date: | Tue, 18 Oct 2011 10:36:15 +0000 |
| Subject: | RE: [PHP-DB] SELECT | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-48051@lists.php.net to get a copy of this message | ||
> -----Original Message-----
> From: Ron Piggott [mailto:ron.piggott@actsministries.org]
> Sent: 17 October 2011 18:38
>
> I need help creating a mySQL query that will select the correct
> introduction message for a website I am making. The way I have
> designed the table I can’t wrap my mind around the SELECT query that
> will deal with the day # of the month.
>
> The part of the SELECT syntax I am struggling with is when the
> introduction message is to change mid month. The reason I am
> struggling with this is because I haven’t used ‘DATE’ for the column
> type. The reason I didn’t use ‘DATE’ is because the same message
> will be displayed year after year, depending on the date range.
>
> What I am storing in the table is the start month # (1 to 12) and
> day # (1 to 31) and then the finishing month # (1 to 12) and the
> finishing day # (1 to 31)
>
This is a little bit of a tricky one, as you have to consider both
start_month and end_month as special cases - so you need a three-part
conditional, for the start month, the end month, and the months in
between. Something like this:
SELECT * FROM
introduction_messages
WHERE (month>start_month AND month<end_month)
OR (month=start_month AND day>=start_day`)
OR (month=end_month AND day<=end_day);
Cheers!
Mike
--
Mike Ford,
Electronic Information Developer, Libraries and Learning Innovation,
Portland PD507, City Campus, Leeds Metropolitan University,
Portland Way, LEEDS, LS1 3HE, United Kingdom
E: m.ford@leedsmet.ac.uk T: +44 113 812 4730
To view the terms under which this email is distributed, please go to http://disclaimer.leedsmet.ac.uk/email.htm