|
Posted by Bret Hughes on 10/03/32 11:05
On Mon, 2005-01-10 at 12:08, John Taylor-Johnston wrote:
> Hi,
> I would like some help to improve this script. I'm a teacher with a schedule of 17 weeks.
> Instead of using if(date("Y-m-d") >= $week3) I would like to do a "for i = 1 to 17" and if the current date date("Y-m-d") = week[i] I would like to echo "This is week $week[i]";
>
> Can someone show me how please?
>
>
> <?php
> #old code:
> $week1 = "2005-01-17";
> $week2 = "2005-01-24";
> ...
> $week17 = "2005-05-09;
>
> if(date("Y-m-d") >= $week3)
> {
> echo "this is week 3");
> }
> ?>
>
(Mistakenly sent to the OP only and I could not stand having my code not
seen by all :) tested in a shell not web page so YMMV. Now as I look
at it, a valid date in the last week would not work since there was no
end defined. I added a 18th date and modified the if to < next week
date. This code should work with no assumptions that today is even in
the range of weeks defined.
You practically wrote it already. Also you can use a for loop to load
the array of dates.
$m=1;
$d=11;
$y=2005;
//Load week array
$week= array();
for ($i=0; $i<= 17; $i++ ) {
$week[$i] = date("Y-m-d",mktime(0, 0, 0, $m , $d + (7*$i), $y));
}
$today=date("Y-m-d");
for ($i=0; $i<= 16; $i++ ){
if ("$today" >= "$week[$i]" and "$today" < $week[$i+1] ){
echo "This is week ". ($i + 1) . " that began on $week[$i]\n";
exit;
}
}
echo "could not find what week $today is in\n";
echo "start date is $y-$m-$d\n";
echo "end date is $week[17]\n";
HTH
Bret
Navigation:
[Reply to this message]
|