Very nice John.

I'm quickly learning the utility of MySql Date and Time objects.

I used to have to write a ten line script to format the date; now, I can use
this:

SELECT DATE_FORMAT(mydate, '%a %M %d, %Y') and I'm done.

Thanks a bunch for your help, John.

I might even write an effiicient application in this lifetime.............

--Noah


"John W. Holmes" <[EMAIL PROTECTED]> wrote in message
000201c2cfd8$dcc2e180$7c02a8c0@coconut">news:000201c2cfd8$dcc2e180$7c02a8c0@coconut...
> SELECT * FROM table WHERE date BETWEEN 20030201 AND 20030201 + INTERVAL
> 7 DAY
>
> I assume '20030201' will come from PHP eventually, right, or the current
> date?
>
> For any record between now and 7 days from now:
> SELECT * FROM table WHERE date BETWEEN CURDATE() AND CURDATE() +
> INTERVAL 7 DAY
>
> For a date from PHP,
>
> $date = '20030201';
>
> SELECT * FROM table WHERE date BETWEEN $date AND $date + INTERVAL 7 DAY
>
> ---John W. Holmes...
>
> PHP Architect - A monthly magazine for PHP Professionals. Get your copy
> today. http://www.phparch.com/
>
> > -----Original Message-----
> > From: Noah [mailto:[EMAIL PROTECTED]]
> > Sent: Saturday, February 08, 2003 10:20 PM
> > To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> > Cc: [EMAIL PROTECTED]
> > Subject: Re: [PHP] Output yyyymmdd formatted date || 20030131 to
> > FridayJanuary 31, 2003
> >
> > Right.
> >
> > I've switched the date column from type INT to type DATE in our MySql
> db.
> >
> > The problem I've had with retrieving records in a certain date range
> with:
> >
> > SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207
> >
> > is getting the latter part of the expression; i.e. in this case
> 20030207
> > to
> > be seven days "older" than the first part.
> >
> > This is where I need to use MySql's DATE_ADD, and other date
> manipulation
> > functions..........
> >
> > Lots to learn; little time to do it.
> >
> > Thanks for feedback, John.
> >
> >
> > --Noah
> >
> >
> > ----- Original Message -----
> > From: "John W. Holmes" <[EMAIL PROTECTED]>
> > To: "'Noah'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> > Cc: <[EMAIL PROTECTED]>
> > Sent: Saturday, February 08, 2003 3:31 PM
> > Subject: RE: [PHP] Output yyyymmdd formatted date || 20030131 to
> > FridayJanuary 31, 2003
> >
> >
> > > > The dates are stored in a MySql db.
> > > >
> > > > I checked out the MySql DATE_FORMAT function -- pretty cool.
> > > >
> > > > However, pardon my ignorance here, how can I do date comparisons?
> > > >
> > > > For example, if I want to retrieve records from the db where the
> date
> > > is
> > > > between say, 2003-02-01 and 2003-02-07, will MySql be able to
> compare
> > > the
> > > > strings?
> > > >
> > > > I stored my dates as integer fields to do such a comparison, but
> it
> > > looks
> > > > like I need to graduate to MySql date time functions..........
> > >
> > > If you've done it correctly and stored your dates in a MySQL DATE,
> > > DATETIME, or TIMESTAMP column, then you can do something like this:
> > >
> > > SELECT * FROM table WHERE yourdate BETWEEN 20030201 AND 20030207
> > >
> > > If you're storing them in an INT column, then change it over to one
> of
> > > the above.
> > >
> > > Go back to the manual and read about date_sub() and date_add() in
> MySQL
> > > for further date manipulation...
> > >
> > > ---John W. Holmes...
> > >
> > > PHP Architect - A monthly magazine for PHP Professionals. Get your
> copy
> > > today. http://www.phparch.com/
> > >
> > >
>
>
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to