webForumDet fria alternativet

Kalender visar fel dag&år...

PHP

0 svar · 217 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Frågan#1

Tjo!

Sitter med kalender från ett skript jag sökte fram här på wF. Iaf. Har ju ändrat i det lite för att fixa till det för mina ändamål :)

Nu e det så att dagarna förskjuts med en dag, antagligen för att vi i Sverige inte börjar veckan en söndag. Sen när man klickar på Nästa / Föregående så byts det till 1999 på ena, och 2000 till den andra. Hm... har kollat å förstår inte relationen, datum är dock lite bökiga :)

Kolla koden:

<?php 
echo " 
<html> 
<head> 
<body bgcolor=#FFFFFF> 
<center> 
"; 
// Check for a Month Change submission 
if ($_GET['manad'] == "") {
	$date = getdate();
	}	
else {
	if ($_GET['manad'] == "next") {
	$month_now--; }
	else {
	$month_now++; }
	
$date = getdate(mktime(0,0,0,$month_now,1,$year_now)); 
}

$month_num = $date["mon"]; 
$month_name = $date["month"]; 
$year = $date["year"]; 
$date_today = getdate(mktime(0,0,0,$month_num,1,$year)); 
$first_week_day = $date_today["wday"]; 
$cont = true; 
$today = 27; 

while (($today <= 32) && ($cont)) { 
$date_today = getdate(mktime(0,0,0,$month_num,$today,$year)); 

if ($date_today["mon"] != $month_num) { 
$lastday = $today - 1; 
$cont = false; 
} 

$today++; 
} 

// allow for form submission to the script for forward and backwards 

echo"
<a href=\"cal.php?manad=next\">Nästa månad</a><a href=\"cal.php?manad=previous\">Föregående månad</a>
<table width=\"160\" border=\"1\" cellspacing=0 cellpadding=2> 
<tr><td colspan=\"7\">$month_name $year</td></tr> 
<tr><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>L</td><td>S</td></ 
tr>"; 

// begin placement of days according to their beginning weekday 

$day = 1; 
$wday = $first_week_day; 
$firstweek = true; 
while ( $day <= $lastday) { 
if ($firstweek) { 
echo "<TR>"; 
for ($i=1; $i<=$first_week_day; $i++) { 

echo "<TD>  </td>"; 
} 
$firstweek = false; 
} 
if ($wday==0) { 
echo "<tr>"; 
} 

// make each day linkable to the following result.php page 

if ( intval($month_num) < 10) { $new_month_num = "0$month_num"; } 
elseif (intval($month_num) >= 10) { $new_month_num = $month_num; } 
if ( intval($day) < 10) { $new_day = "0$day"; } 
elseif (intval($day) >= 10) { $new_day = $day; } 
$link_date = "$year-$new_month_num-$new_day"; 

echo "<td><a href=results.php?datum=$link_date> $day </a></td>"; 

if ($wday==7) { 
echo "</tr>\n"; 
} 

$wday++; 
$wday = $wday % 7; 
$day++; 
} 
echo" 
</table> 
</body> 
</html> 
"; 
?>
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)