Forum Moderators: coopster

Message Too Old, No Replies

Problem looping through array

         

matt tas tic

1:36 pm on May 6, 2006 (gmt 0)



Hi all,

Im having problems looping through my array.

I have my array that I will populate with a title and startdate and enddate. This will be done using a query but I've done it manually here so you can see the test data.

I then want to loop thorugh the days in a month and highlight the days that will have events. Problem is I get 3 of everything

Can anyone help me with this please?

Thanks

<?php

$n = 1;
for ($n = 1; $n <= 3; $n++){

//set event dates to array
$events['event1']['title'] = 'test event 1';
$events['event1']['startdate'] = mktime(0, 0, 0, 3, 5, 2006);
$events['event1']['enddate'] = mktime(0, 0, 0, 3, 8, 2006);

$events['event2']['title'] = 'test event 2';
$events['event2']['startdate'] = mktime(0, 0, 0, 3, 6, 2006);
$events['event2']['enddate'] = mktime(0, 0, 0, 3, 7, 2006);

$events['event3']['title'] = 'test event 3';
$events['event3']['startdate'] = mktime(0, 0, 0, 3, 22, 2006);
$events['event3']['enddate'] = mktime(0, 0, 0, 3, 26, 2006);


echo $events['event'.$n]['title'] . "<br>";
echo date('d',$events['event'.$n]['startdate']) . "<br>";
echo date('d',$events['event'.$n]['enddate']) . "<br>";
echo "<br><br>";
}

echo "<p><p><p>";
for ($p = 1; $p <= 31; $p++) {

$i = 1;
while (isset($events['event'.$i]))
{

if (
(date('d',$events['event'.$i]['startdate']) < $p AND date('d',$events['event'.$i]['enddate']) > $p )
OR
(date('d',$events['event'.$i]['startdate']) == $p
OR
date('d',$events['event'.$i]['enddate']) == $p
))
{
echo "<b>" . $p . "</b>" . "<br>";
}
else{
echo $p . "<br>";
}

$i++;

}

}

?>

[edited by: coopster at 1:44 pm (utc) on May 8, 2006]
[edit reason] removed url per TOS [webmasterworld.com] [/edit]

coopster

3:16 pm on May 8, 2006 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



Welcome to WebmasterWorld, matt tas tic.

You have an outer for loop that is set to loop 3 times.