"me you" <[EMAIL PROTECTED]> wrote on 07/20/2005 03:05:30 PM:
> Hello,
>
> Having some problems trying to get the correct data from MySQL. I need
to
> grab a bunch of information based on a date the user selects (no problem
> there). However, this is an events type situation, where I want to give
> people an easy option to move forward or backwards through the data once
the
> initial results have been displayed.
>
> Special note (the tricky part) Because this is an events type of
situation,
> not all dates will actually have data available.
>
> SAMPLE DATA:
>
> id date info
> -------------------------------------------------------
> 1 2005-01-12 big event happened today
> 2 2005-01-15 some event happened today
> 3 2005-03-01 a birthday happened today
> 4 2005-03-10 another birthday here
>
> Eg.,
>
>
> User selects (March 1, 2005)
>
> We display the information from March 1, 2005. On that page, I want to
be
> able to display a <NEXT EVENT> and a <PREVIOUS EVENT> option via simply
html
> links.
>
> If user clicks NEXT EVENT it should know to get the data from 2005-03-10
and
> if the user clicks PREVIOUS EVENT, then they'll get the information from
the
> 2005-01-15 event.
>
> Any help would be appreciated.
>
> Thanks
I would do it in 3 queries:
set @targetdate='2005-03-01';
/* q1 - determine "prev" date */
SELECT @prevDate := MAX(datefield) from tablename where user_id=0000 and
datefield < @targetdate;
/* q2 - determine "next" date */
SELECT @nextDate := MIN(datefield) from tablename where user_id=0000 and
datefield > @targetdate;
/* q3 - get target date */
SELECT @prevDate as prevdate, @nextDate as nextdate, datefield, textfield
from tablename where datefield = @targetdate;
Of course, if you had provided ANY actual information about your tables,
my queries could have used your actual field and table names.... >8-{
Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine