Hallo Leute!
Hab folgendes Kalenderskript gefunden, und es läuft eigentlich ganz gut, ausser dass immer im Februar nicht genügend Tage angezeigt werden!!
Hab leider keine Ahnung, woran das liegt... Hat evtl. jemand ne Ahnung? Der Kalender befindet sich übrigens auf http://www.asso-etud.unige.ch/aeti/_...php?m=2&y=2006
Vielen Dank!
Hab folgendes Kalenderskript gefunden, und es läuft eigentlich ganz gut, ausser dass immer im Februar nicht genügend Tage angezeigt werden!!
Code:
$year = (isset($_GET['y']) && preg_match('/^\d{4}$/',$_GET['y'])) ? $_GET['y'] : date('Y'); $month = (isset($_GET['m']) && preg_match('/^\d{1,2}$/',$_GET['m']) && ($_GET['m'] < 13)) ? $_GET['m'] : date('n'); $days = date('t',mktime(0,0,0,$month,1,$year)); $start_col = date('w',mktime(0,0,0,$month,1,$year))-1; $rows = ($start_col == 5 || $start_col == -1) ? ceil($days/7)+1 : ceil($days/7); $day=1; $monthname = array('janvier','février','mars','avril','mai','juin','juillet','août','septembre','octobre','novembre','décembre'); $prev_month = ($month==1) ? 12 : $month-1; $prev_year = ($month==1) ? $year-1 : $year; $next_month = ($month==12) ? 1 : $month+1; $next_year = ($month==12) ? $year+1 : $year; $day = 1; echo '<div align="center">'; echo '<div id="calendarbox">'; echo ' <table> <tr class="border_trl"> <th>«</th> <th colspan="5">'.$monthname[$month-1].' '.$year.'</th> <th>»</th> </tr>'; echo ' <tr class="border_trl"> <th class="dayname">lu</th> <th class="dayname">ma</th> <th class="dayname">me</th> <th class="dayname">je</th> <th class="dayname">ve</th> <th class="dayname">sa</th> <th class="dayname">di</th> </tr>'; for($a=0;$a<$rows;$a++){ echo '<tr>'; $start_col = ($start_col == -1) ? 6 : $start_col; if($start_col>0 && $day==1){ for($aa=$start_col;$aa>0;$aa--){ echo '<td class="empty"></td>'; } } for($b=$start_col;$b<7;$b++){ $cdb->select(sprintf("select substring(eventtime,1,5) _eventtime, topic, shortdesc from e_event where dayofmonth(eventdate) = %d && month(eventdate) = %d && year(eventdate) = %d order by eventtime asc",$day,$month,$year)); if($cdb->getRecords()>0){ $js_arr = array(); while($row = $cdb->fetchArray()){ $js_arr[]= 'new Array(\''.$row['_eventtime'].'\',\''.stripslashes($row['topic']).'\',\''.stripslashes($row['shortdesc']).'\')'; } $js_arr = 'new Array('.join(',',$js_arr).')'; } if(!isset($js_arr)){ $s_day = ($day == date('j') && $month == date('n') && $year == date('Y')) ? '<td class="today">'.$day.'</td>' : '<td>'.$day.'</td>'; }else{ $s_day = ($day == date('j') && $month == date('n') && $year == date('Y')) ? '<td class="today" onmouseover="create_list('.$js_arr.')" onmouseout="remove_list()">'.$day.'</td>' : '<td class="event" onmouseover="create_list('.$js_arr.')" onmouseout="remove_list()">'.$day.'</td>'; } echo ($day>$days) ? '<td class="empty"></td>' : $s_day; $day++; unset($js_arr); } echo '</tr>'; $start_col = 0; } echo '</table></div>';
Vielen Dank!
Kommentar