webForumDet fria alternativet

Kalenderproblem

3 svar · 328 visningar · startad av Madmartigan

MadmartiganMedlem sedan sep. 200315 inlägg
#1

Jag har hittat en kod till en enkel gratis kalender i php. När jag försöker köra koden på min sida blir det bar blankt. Den skrivs inte ut alls. Vad är fel?

Kod:
<?php

function generate_calendar($year, $month, $days = array(), $day_name_length = 3, $month_href = NULL, $first_day = 1, $pn = array()){
$first_of_month = gmmktime(0, 0, 0, 1, 1, 1998);

$day_names = array(); #generate all the day names according to the current locale
for($n=0,$t=(3+$first_day)\*86400; $n\<7; $n++,$t+=86400) #January 4, 1970 was a Sunday
    $day_names\[$n\] = ucfirst(gmstrftime('%A',$t)); #%A means full textual day name

list($month, $year, $month_name, $weekday) = explode(',',gmstrftime('%m,%Y,%B,%w',$first_of_month));
$weekday = ($weekday + 7 - $first_day) % 7; #adjust for $first_day
$title   = htmlentities(ucfirst($month_name)).'&nbsp;'.$year;  #note that some locales don't capitalize month and day names

\#Begin calendar. Uses a real \<caption\>. See http://diveintomark.org/archives/2002/07/03
@list($p, $pl) = each($pn); @list($n, $nl) = each($pn); #previous and next links, if applicable
if($p) $p = '\<span class="calendar-prev"\>'.($pl ? '\<a href="'.htmlspecialchars($pl).'"\>'.$p.'\</a\>' : $p).'\</span\>&nbsp;';
if($n) $n = '&nbsp;\<span class="calendar-next"\>'.($nl ? '\<a href="'.htmlspecialchars($nl).'"\>'.$n.'\</a\>' : $n).'\</span\>';
$calendar = '\<table class="calendar"\>'."\\n".
    '\<caption class="calendar-month"\>'.$p.($month_href ? '\<a href="'.htmlspecialchars($month_href).'"\>'.$title.'\</a\>' : $title).$n."\</caption\>\\n\<tr\>";

if($day_name_length){ #if the day names should be shown ($day_name_length \> 0)
    \#if day_name_length is \>3, the full name of the day will be printed
    foreach($day_names as $d)
        $calendar .= '\<th abbr="'.htmlentities($d).'"\>'.htmlentities($day_name_length \< 4 ? substr($d,0,$day_name_length) : $d).'\</th\>';
    $calendar .= "\</tr\>\\n\<tr\>";
}

if($weekday \> 0) $calendar .= '\<td colspan="'.$weekday.'"\>&nbsp;\</td\>'; #initial 'empty' days
for($day=1,$days_in_month=gmdate('t',$first_of_month); $day\<=$days_in_month; $day++,$weekday++){
    if($weekday == 7){
        $weekday   = 0; #start a new week
        $calendar .= "\</tr\>\\n\<tr\>";
    }
    if(isset($days\[$day\]) and is_array($days\[$day\])){
        @list($link, $classes, $content) = $days\[$day\];
        if(is_null($content))  $content  = $day;
        $calendar .= '\<td'.($classes ? ' class="'.htmlspecialchars($classes).'"\>' : '\>').
            ($link ? '\<a href="'.htmlspecialchars($link).'"\>'.$content.'\</a\>' : $content).'\</td\>';
    }
    else $calendar .= "\<td\>$day\</td\>";
}
if($weekday != 7) $calendar .= '\<td colspan="'.(7-$weekday).'"\>&nbsp;\</td\>'; #remaining "empty" days

return $calendar."\</tr\>\\n\</table\>\\n";

}
?>

@ndersMedlem sedan juni 200026 914 inlägg
#2

Jag kan dessvärre inte hjälpa dig med ditt problem, men snälla, använd [php]-taggar runt koden du postar så går den att läsa.

mvh

PeddaMedlem sedan juni 20004 880 inlägg
#3

Anropar du funktionen rätt där du ska visa den?

GislavedMedlem sedan nov. 20041 480 inlägg
#4

Du måste anropa funktionen också.

<? echo generate_calendar("2006", "11", "09"); ?>
Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb