RSS Feed
am 30.01.2011 20:27:22 von ron.piggott
------=_NextPart_000_0035_01CBC089.CF0895D0
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
I have a question about the mySQL query below. The purpose is to find =
the last 15 days Bible reading for an RSS feed. =20
In the table each dayâ=99s reading is assigned the day # in the =
year (between 1 and 365). But if the query is ran on January 6th, for =
example, it will only find 6 rows in the result. Is there a fancy way =
to ensure a total of 15 rows are retrieved, even if some of the rows =
from the end of the year (days 350 to 365) are being displayed, so it is =
like a loop? (I have a record in the table for day 366 for =
â=98leap yearâ=99 that says the Bible reading starts again =
tomorrow, for when it is needed every 4th year)
Ron
===3D
$day_of_year =3D getdate();
#add 1 because yday starts at 0
$day_of_year =3D $day_of_year[yday] + 1;
$query=3D"SELECT * FROM =
`$database1`.`friends_of_the_ministry_Bible_reading_plans` WHERE `plan` =
=3D1 AND `day` <=3D $day_of_year ORDER BY `day` DESC LIMIT 15";
===3D
The Verse of the Day
â=9CEncouragement from Godâ=99s Wordâ=9D
http://www.TheVerseOfTheDay.info =20
------=_NextPart_000_0035_01CBC089.CF0895D0--
Re: RSS Feed
am 30.01.2011 22:10:38 von Phpster
On Sun, Jan 30, 2011 at 2:27 PM, Ron Piggott
wrote:
>
> I have a question about the mySQL query below. =A0The purpose is to find =
the last 15 days Bible reading for an RSS feed.
>
> In the table each day=92s reading is assigned the day # in the year (betw=
een 1 and 365). =A0But if the query is ran on January 6th, for example, it =
will only find 6 rows in the result. =A0Is there a fancy way to ensure a to=
tal of 15 rows are retrieved, even if some of the rows from the end of the =
year (days 350 to 365) are being displayed, so it is like a loop? =A0(I hav=
e a record in the table for day 366 for =91leap year=92 that says the Bible=
reading starts again tomorrow, for when it is needed every 4th year)
>
> Ron
>
> ===3D
>
> $day_of_year =3D getdate();
>
> #add 1 because yday starts at 0
> $day_of_year =3D $day_of_year[yday] + 1;
>
> $query=3D"SELECT * FROM `$database1`.`friends_of_the_ministry_Bible_readi=
ng_plans` WHERE `plan` =3D1 AND `day` <=3D $day_of_year ORDER BY `day` DESC=
LIMIT 15";
>
> ===3D
>
> The Verse of the Day
> =93Encouragement from God=92s Word=94
> http://www.TheVerseOfTheDay.info
>
Ron,
Why not do a mktime for -15 days...that should cover the calendar back
into last year
www.php.net/mktime
--=20
Bastien
Cat, the other other white meat
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: RSS Feed
am 30.01.2011 22:49:18 von ron.piggott
Bastien I have been wondering about this approach this afternoon, but I
don't know how to do it. What is throwing me off is the structure of the
database. There is no year in it. Only the column "day" is a number from 1
to 366 (See table structure, below)
I get that you are saying though. If it is between January 1st and 15th the
remaining records are in December of the previous year.
CREATE TABLE IF NOT EXISTS `friends_of_the_ministry_Bible_reading_plans` (
`reference` int(4) NOT NULL AUTO_INCREMENT,
`plan` int(2) NOT NULL DEFAULT '0',
`day` int(4) NOT NULL DEFAULT '0',
`assigned_reading` varchar(65) NOT NULL DEFAULT '',
`content_summary` varchar(500) NOT NULL,
PRIMARY KEY (`reference`)
)
Are you able to offer me some more help with this table structure?
Ron
The Verse of the Day
Encouragement from Gods Word
http://www.TheVerseOfTheDay.info
-----Original Message-----
From: Bastien Koert
Sent: Sunday, January 30, 2011 4:10 PM
To: Ron Piggott
Cc: php-db@lists.php.net
Subject: Re: [PHP-DB] RSS Feed
On Sun, Jan 30, 2011 at 2:27 PM, Ron Piggott
wrote:
>
> I have a question about the mySQL query below. The purpose is to find the
> last 15 days Bible reading for an RSS feed.
>
> In the table each days reading is assigned the day # in the year (between
> 1 and 365). But if the query is ran on January 6th, for example, it will
> only find 6 rows in the result. Is there a fancy way to ensure a total of
> 15 rows are retrieved, even if some of the rows from the end of the year
> (days 350 to 365) are being displayed, so it is like a loop? (I have a
> record in the table for day 366 for leap year that says the Bible
> reading starts again tomorrow, for when it is needed every 4th year)
>
> Ron
>
> ===
>
> $day_of_year = getdate();
>
> #add 1 because yday starts at 0
> $day_of_year = $day_of_year[yday] + 1;
>
> $query="SELECT * FROM
> `$database1`.`friends_of_the_ministry_Bible_reading_plans` WHERE `plan` =1
> AND `day` <= $day_of_year ORDER BY `day` DESC LIMIT 15";
>
> ===
>
> The Verse of the Day
> Encouragement from Gods Word
> http://www.TheVerseOfTheDay.info
>
Ron,
Why not do a mktime for -15 days...that should cover the calendar back
into last year
www.php.net/mktime
--
Bastien
Cat, the other other white meat
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php