RE: [PHP] Dynamic Date Select and SQL
| From: | Simon H | Date: | Fri, 15 Feb 2002 17:05:53 +0000 |
| Subject: | RE: [PHP] Dynamic Date Select and SQL | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-84935@lists.php.net to get a copy of this message | ||
Thanks Rick
But the SQL needs to work with MS Access AND MySQL through the PEAR DB
Abstraction layer... I'm not saying it wont work with Access because I don't
know yet...maybe it will, but there looks to be functions in there that may
be MySQL specific.
If I can do something like this it would be great...what I would like is to
get the earliest month & year from the DB table then fill in the gaps
between then and now, month by month to populate the SELECT BOX Options.
Thanks
Simon H
> -----Original Message-----
> From: Rick Emery [mailto:remery@excel.com]
> Sent: 15 February 2002 16:06
> To: 'Simon H'; PHP General
> Subject: RE: [PHP] Dynamic Date Select and SQL
> Sensitivity: Confidential
>
>
> If I understand your question, you are looking for the MYSQL sql
> statement.
> Based upon your info, I've found something like this example:
>
> mysql> describe a;
> +--------+----------+------+-----+---------+-------+
> | Field | Type | Null | Key | Default | Extra |
> +--------+----------+------+-----+---------+-------+
> | mydate | datetime | YES | | NULL | |
> +--------+----------+------+-----+---------+-------+
> 1 row in set (0.04 sec)
>
> mysql> select * from a;
> +---------------------+
> | mydate |
> +---------------------+
> | 2002-01-01 12:00:00 |
> | 2002-02-01 12:00:00 |
> | 2002-03-01 12:00:00 |
> | 2002-04-01 12:00:00 |
> | 2002-05-01 12:00:00 |
> | 2002-06-01 12:00:00 |
> | 2002-07-01 12:00:00 |
> +---------------------+
> 7 rows in set (0.00 sec)
>
> mysql> select year(mydate)*100+month(mydate) as sel,mydate,
> concat(left(monthname(mydate),3),' ',year(mydate)) as monyr
> from a where mydate < now()+00000300000000;
> +--------+---------------------+----------+
> | sel | mydate | monyr |
> +--------+---------------------+----------+
> | 200201 | 2002-01-01 12:00:00 | Jan 2002 |
> | 200202 | 2002-02-01 12:00:00 | Feb 2002 |
> | 200203 | 2002-03-01 12:00:00 | Mar 2002 |
> | 200204 | 2002-04-01 12:00:00 | Apr 2002 |
> | 200205 | 2002-05-01 12:00:00 | May 2002 |
> +--------+---------------------+----------+
> 5 rows in set (0.05 sec)
>
> -----Original Message-----
> From: Simon H [mailto:simon.hamilton@ntlworld.com]
> Sent: Friday, February 15, 2002 6:32 AM
> To: PHP General
> Subject: [PHP] Dynamic Date Select and SQL
> Sensitivity: Confidential
>
>
> I have a problem I hope someone can help me with...
>
> Firstly I have an SQL Query with a "WHERE dateMonthAndYear = $month1"
>
> Already this shows part of what I'm trying to do. The date
> format in the DB
> is "YYYY-MM-DD HH:MM:SS".
>
> Now I need to dynamically generate a pulldown of months...
>
> The range of months in the pulldown are historical, so the last
> month would
> be the current month (which should also be the SELECTED option).
> The first
> month would be a fixed date, say Jan 2002.
>
> The value of the options would probably be like so:
>
> <select name="month1"> // <<--- Jump Menu
> <option value="$PHP_SELF?month1=$current_month" SELECTED>Feb
> 2002</option>
> // <<--- Current Month (SELECTED)
> <option
> value="$PHP_SELF?month1=$first_month">$first_month_text</option>
> // <<--- First Month in range
> <option
> value="$PHP_SELF?month1=$subsequent_month1">$subsequent_month1_tex
> t</option>
> // <<--- Other months in range
> .....
> // <<--- Other months in range
> <option value="$PHP_SELF?month1=$current_month" SELECTED>Feb
> 2002</option>
> // <<--- Current Month
> <option value="$PHP_SELF?month1=">ALL</option>
> // <<--- Empty value
> will show all
> </select>
>
> I guess the question is, how do I dynamically create the select, based on
> the above spec (or make $first_month, the first month available in the SQL
> Query i.e. get the earliest month from the Query), then do the
> select using
> ONLY the month and year information.
>
> I can do most of the bits in between, just do know how to do the dynamic
> select for this particular application, or get the date into the SQL where
> ONLY the month and year are relevant.
>
> I am using Pear DB and need this to work on MySQL and Access
> through Pear so
> the SQL needs to be quite standard. The above code is not syntaxed
> properly....just meant for readability.
>
> Any ideas are much appreciated as I don't even know where to
> start with this
> one.
>
> Thanks
>
> Simon H
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php