Event Calendar PHP - Viser kun 1 event fra DB
Hejsa.. Har efter diverse tutorials formået at bikse et lille simpelt kalender event script i php.Men når jeg henter mine "events" ned fra databasen, og skal vise dem i kalenderen går det galt..
Mest af alt fordi jeg sku ikke rigtig lige ved hvorn jeg skal gøre det.. - Den viser nemlig kun det FØRSTE event stående i databasen..
Kode:
$d = (!$d) ? date("d",mktime()) : "$d";
$m = (!$m) ? date("m",mktime()) : "$m";
$y = (!$y) ? date("Y",mktime()) : "$y";
function mk_drawCalendar($m,$y,$cmd)
{
include("inc/inc_connection.php");
if ($cmd=="booking")
{
$link = '&cmd=booking';
}
if ((!$m) || (!$y))
{
$m = date("m",mktime());
$y = date("Y",mktime());
}
/*== get what weekday the first is on ==*/
$tmpd = getdate(mktime(0,0,0,$m+1,0,$y));
$month = $tmpd["month"];
$firstwday= $tmpd["wday"];
$lastday = mk_getLastDayofMonth($m,$y);
print '
<table cellpadding="5" cellspacing="0" border="1">
<tr>
<td colspan="7">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>';
?>
<td class="content_top" align="left"><a class="admin" href="<? echo $_SERVER['PHP_SELF']; ?>?m=<?=(($m-1)<1) ? 12 : $m-1 ?>&y=<?=(($m-1)<1) ? $y-1 : $y ?>"><<</a></td>
<td class="content_top" align="center"><b><?="$month $y"?></b></td>
<td class="content_top" align="right"><a class="admin" href="<?php echo $_SERVER['PHP_SELF']; ?>?m=<?=(($m+1)>12) ? 1 : $m+1 ?>&y=<?=(($m+1)>12) ? $y+1 : $y ?>">>></a></td>
<?
print '</tr></table>
</td></tr>
<tr>
<td class="tcell"><b>Mandag</b></td>
<td class="tcell"><b>Tirsdag</b></td>
<td class="tcell"><b>Onsdag</b></td>
<td class="tcell"><b>Torsdag</b></td>
<td class="tcell"><b>Fredag</b></td>
<td class="tcell"><b>Lørdag</b></td>
<td class="tcell"><b>Søndag</b></td>
</tr>
';
$d = 1;
$wday = $firstwday;
$firstweek = true;
/*== loop through all the days of the month ==*/
while ( $d <= $lastday)
{
/*== set up blank days for first week ==*/
if ($firstweek) {
echo "<tr>";
for ($i=1; $i<=$firstwday; $i++)
{ echo "<td><font size=2> </font></td>"; }
$firstweek = false;
}
/*== Sunday start week with <tr> ==*/
if ($wday==0) { echo "<tr>"; }
/*== check for event ==*/
$query = mysql_query("Select * from $Tsite_calendar");
$row = mysql_fetch_array($query);
if (($row['day'] == $d) && ($row['month'] == $m) && ($row['year'] == $y)) {
print '
<td align="center" class="tcell">
<a href="'.$_SERVER['PHP_SELF'].'?show=all'.$link.'&id='.$row['id'].'" title="'.$row['event'].'">'.$d.'</a>
</td>
';
} else {
print '
<td align="center" class="tcell">
'.$d.'
</td>
';
}
/*== Saturday end week with </tr> ==*/
if ($wday==6) { echo "</tr>\n"; }
$wday++;
$wday = $wday % 7;
$d++;
}
print '
</tr></table>
';
/*== end drawCalendar function ==*/
}
/*== get the last day of the month ==*/
function mk_getLastDayofMonth($mon,$year)
{
for ($tday=28; $tday <= 31; $tday++)
{
$tdate = getdate(mktime(0,0,0,$mon,$tday,$year));
if ($tdate["mon"] != $mon)
{ break; }
}
$tday--;
return $tday;
}
Har også pastet koden på pastebin hvis i bedre kan overskue det der: http://www.pastebin.org/27182
I behøver ikke kritisere mine manglende php evner, men hjælp til at det virker kunne være rart :)
Hvis i har ydeligere "modifikationer" til scriptet er i også velkomne til at kommentere..
// Casper
