04. oktober 2004 - 15:20
Der er
10 kommentarer og 1 løsning
Simpelt kalender-script
Hej Eksperter
Jeg har støvet et simpelt kalender-script op på nettet og er så ved at rette det til. Før vidste det søndag før mandag, men vil jeg godt have rettet, men det var åbenbart ikke så let som jeg først troede!!
Det egentlige problem er at scriptet ikke kan finde ud af at sætte 6 'kasser' ind før dato'en når det er en søndag. og heller ikke finde ud af at lade være med at sætte en ekstra række 'kasser' ind hvis sidste dag i måneden er en søndag!!
Håber der er en som kan hjælpe.
Har lagt siden ud på følgende adresse:
http://projekter.thomasclausen.dk/exp/kalender.php På forhånd tak
Thomas Clausen
Annonceindlæg fra Novataris
04. oktober 2004 - 19:01
#1
Kan noget af dit prob være at O = søndag - burde det ikke være 0 = søndag
04. oktober 2004 - 23:09
#2
Nej for det er bare noget jeg selv har skrevet for lige selv at huske det :-) Men ved ikke om det ville hjælpe hvis jeg postede hele mit script?
04. oktober 2004 - 23:12
#3
måske en ide :-)
05. oktober 2004 - 08:09
#4
<? if(!isset($maaned)) { $maaned = date(n); } if(!isset($aar)) { $aar = date(Y); } if($maaned == "1") { $maanedtekst = "Januar"; } elseif($maaned == "2") { $maanedtekst = "Februar"; } elseif($maaned == "3") { $maanedtekst = "Marts"; } elseif($maaned == "4") { $maanedtekst = "April"; } elseif($maaned == "5") { $maanedtekst = "Maj"; } elseif($maaned == "6") { $maanedtekst = "Juni"; } elseif($maaned == "7") { $maanedtekst = "Juli"; } elseif($maaned == "8") { $maanedtekst = "August"; } elseif($maaned == "9") { $maanedtekst = "September"; } elseif($maaned == "10") { $maanedtekst = "Oktober"; } elseif($maaned == "11") { $maanedtekst = "November"; } elseif($maaned == "12") { $maanedtekst = "December"; } $days_in_month = date(t, mktime(0, 0, 0, $maaned, 1, $aar)); $day_of_week = date(w, mktime(0, 0, 0, $maaned, 1, $aar)); ?> <table width="210" border="0" cellpadding="0" cellspacing="1" align="center"> <tr align="center" valign="middle"> <td width="30" height="35" colspan="7" class="tekst" bgcolor="#77B8C0"><b><? echo $maanedtekst ?> <? echo $aar ?></b></td> </tr> <tr align="center" valign="middle"> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>M</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>T</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>O</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>T</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>F</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>L</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>S</b></td> </tr> <tr> <? if($day_of_week > 1) { ?> <? for($n = 1; $n < $day_of_week; $n++) { ?> <td width="30" height="25" align="center" valign="middle" class="tekst"> </td> <? } ?> <? } ?> <? for($day_in_month = 1; $day_in_month < $days_in_month + 1; $day_in_month++) { ?> <? if($day_of_week % 7 == 0) { ?> <tr> <? } ?> <? $date_no = date(j, mktime(0, 0, 0, $maaned, $day_in_month, $aar)); $day_of_week = date(w, mktime(0, 0, 0, $maaned, $day_in_month, $aar)); ?> <td width="30" height="25" align="center" valign="middle" class="tekst"><? echo $date_no ?></td> <? if($day_of_week % 7 == 0) { ?> </tr> <? } ?> <? if($day_of_week < 7 && $day_in_month == $days_in_month) { ?> <? for($n = $day_of_week; $n < 7; $n++) { ?> <td width="30" height="25" align="center" valign="middle" class="tekst"> </td> <? } ?> <? } ?> <? } ?> </tr> </table>
05. oktober 2004 - 08:20
#5
lige en lille rettelse! <? if($day_of_week == 1) { ?> <tr> <? } ?> <? if($day_of_week == 0) { ?> </tr> <? } ?>
05. oktober 2004 - 08:23
#6
den tage vi med :-)
05. oktober 2004 - 09:39
#7
prøv dette, jeg har tilladt mig at rette lidt andet også <? echo "<html><body>"; if(!isset($maaned)) { $maaned = date("n"); } if(!isset($aar)) { $aar = date("Y"); } $md = array( "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" ); $maanedtekst = $md[$maaned-1]; $days_in_month = date("t", mktime(0, 0, 0, $maaned, 1, $aar)); $day_of_week = date("w", mktime(0, 0, 0, $maaned, 1, $aar)); echo $day_of_week; switch ( $day_of_week ) { case 0: $day_of_week = 6; break; default: $day_of_week--; } echo " <table width='210' border='0' cellpadding='0' cellspacing='1' align='center'> <tr align='center' valign='middle'> <td width='30' height='35' colspan='7' class='tekst' bgcolor='#77B8C0'><b>$maaned $day_of_week $maanedtekst $aar</b></td> </tr> <tr align='center' valign='middle'> <td width='30' height='25' class='tekst' bgcolor='#77B8C0'><b>M</b></td> <td width='30' height='25' class='tekst' bgcolor='#77B8C0'><b>T</b></td> <td width='30' height='25' class='tekst' bgcolor='#77B8C0'><b>O</b></td> <td width='30' height='25' class='tekst' bgcolor='#77B8C0'><b>T</b></td> <td width='30' height='25' class='tekst' bgcolor='#77B8C0'><b>F</b></td> <td width='30' height='25' class='tekst' bgcolor='#77B8C0'><b>L</b></td> <td width='30' height='25' class='tekst' bgcolor='#77B8C0'><b>S</b></td> </tr> <tr> "; if($day_of_week > 1) { for($n = 0; $n < $day_of_week; $n++) { echo "<td width='30' height='25' align='center' valign='middle' class='tekst'> </td>"; } } for($day_in_month = 1; $day_in_month < $days_in_month + 1; $day_in_month++) { if($day_of_week % 7 == 0) { echo "<tr>"; } $date_no = date("j", mktime(0, 0, 0, $maaned, $day_in_month, $aar)); $day_of_week = date("w", mktime(0, 0, 0, $maaned, $day_in_month, $aar)); echo "<td width='30' height='25' align='center' valign='middle' class='tekst'>$date_no</td>"; if($day_of_week % 7 == 0) { echo "</tr>"; } if($day_of_week < 7 && $day_in_month == $days_in_month) { for($n = $day_of_week; $n < 7; $n++) { echo "<td width='30' height='25' align='center' valign='middle' class='tekst'> </td>"; } } } echo "</tr></table> </body> </html> "; ?>
05. oktober 2004 - 09:40
#8
hov, du skal lige fjerne mit "debug" $maaned $day_of_week i <td width='30' height='35' colspan='7' class='tekst' bgcolor='#77B8C0'><b>$maaned $day_of_week $maanedtekst $aar</b></td>
05. oktober 2004 - 10:06
#9
Okay har også selv lige fundet en løsning lidt ala din, så poster lige mit script igen, hvis der er andre som evt. kunne bruge det!! Men lav et svar så du kan få dine point!
05. oktober 2004 - 10:08
#10
<br> <br> <? if($maaned == "") { $maaned = date(n); } if($aar == "") { $aar = date(Y); } $maanedtekst = array('', 'Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'); $days_in_month = date(t, mktime(0, 0, 0, $maaned, 1, $aar)); $day_of_week = date(w, mktime(0, 0, 0, $maaned, 1, $aar)) - 1; if ($day_of_week == -1) { $day_of_week = 6; } ?> <center> <? if($maaned == "1") { ?> <a href="?side=<? echo $side ?>&aar=<? echo $aar - 1 ?>&maaned=<? echo 12 ?>">forrige</a> <? } else { ?> <a href="?side=<? echo $side ?>&aar=<? echo $aar ?>&maaned=<? echo $maaned - 1 ?>">forrige</a> <? } ?> <? if($maaned == "12") { ?> <a href="?side=<? echo $side ?>&aar=<? echo $aar + 1 ?>&maaned=<? echo 1 ?>">næste</a> <? } else { ?> <a href="?side=<? echo $side ?>&aar=<? echo $aar ?>&maaned=<? echo $maaned + 1 ?>">næste</a> <? } ?> </center> <br> <table width="210" border="0" cellpadding="0" cellspacing="1" align="center"> <tr align="center" valign="middle"> <td width="30" height="35" colspan="7" class="tekst" bgcolor="#77B8C0"><b><? echo $maanedtekst[$maaned] ?> <? echo $aar ?></b></td> </tr> <tr align="center" valign="middle"> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>M</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>T</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>O</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>T</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>F</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>L</b></td> <td width="30" height="25" class="tekst" bgcolor="#77B8C0"><b>S</b></td> </tr> <tr> <? if($day_of_week <> 0) { ?> <? for($n = 0; $n < $day_of_week; $n++) { ?> <td width="30" height="25" align="center" valign="middle" class="tekst"> </td> <? } ?> <? } ?> <? for($day_in_month = 1; $day_in_month <= $days_in_month; $day_in_month++) { ?> <? if($day_of_week == 0) { ?> <? for ($i = 0; $i < $day_of_wk; $i++) { ?> <tr> <? } ?> <? } ?> <? $date_no = date(j, mktime(0, 0, 0, $maaned, $day_in_month, $aar)); $day_of_week = date(w, mktime(0, 0, 0, $maaned, $day_in_month, $aar)) - 1; if ($day_of_week == -1) { $day_of_week = 6; } ?> <td width="30" height="25" align="center" valign="middle" class="tekst"><? echo $date_no ?></td> <? if($day_of_week == 6) { ?> </tr> <? } ?> <? if($day_of_week < 6 && $day_in_month == $days_in_month) { ?> <? for($n = $day_of_week; $n < 6; $n++) { ?> <td width="30" height="25" align="center" valign="middle" class="tekst"> </td> <? } ?> <? } ?> <? } ?> </tr> </table>
05. oktober 2004 - 10:09
#11
fino
Vi tilbyder markedets bedste kurser inden for webudvikling