Gå til innhold

Ukedag korresponderer ikke med dato i kalender


Anbefalte innlegg

Jeg har laget et php kalender skript. Har et problem med at ukedagene ikke

stemmer overens med dato. Noen forslag ?

 

<?
$month = date("F");
$date = date("d");
$weekday = array ("Mon","Tue","Wed","Thu","Fri","Sat","Sun");
$num_days_in_month = date("t");

echo "<table cellpadding=2 cellspacing=0 border=1>";
echo "<tr><td colspan=8 bgcolor=lightblue>".date("F Y")."</td></tr>";
echo "<tr>";
foreach($weekday as $weekdays) {
echo "<td bgcolor=lightgrey>$weekdays</td>";
}
echo "</tr><tr>";
for($d=1; $d<=$num_days_in_month; $d++) {
if($d==$date) {
 echo "<td bgcolor=lightblue align=center><font color=red><b>$d</b></font></td>";
}
elseif($d==8 || $d==16 || $d==24) {
 echo "</tr>";
}
else {
echo "<td bgcolor=lightgreen align=center>$d</td>";
}}
echo "</table>";
?>

Endret av christdi
Lenke til kommentar
Videoannonse
Annonse

Ser ut som du har glemt å hoppe over evt. ukedager fra forrige måned, og dermed starter hver av dine måneder på mandag?

 

Du må altså finne ut hvilken ukedag måneden starter på, og så skrive ut en tom dato i ukedagene før.

 

Tips;

hold styr på hvilken tabellcelle/ukedag for-løkka befinner seg i, og bruk date() med første dag i mnd og 'w' til å finne ut hvilken dag måneden starter på.

 

'w' angir "Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday)"

Lenke til kommentar

Se min post her:

 

http://forum.hardware.no/index.php?showtopic=385184

 

I liksom-kode:

 

for (hver dag i uken) {
// dag = Mandag, tirsdag, onsdag, og så videre
 if (dag != førstedagimåneden) {
   echo 'Tom celle';
 }
 else {
   echo 'celle med dato i';
 }
}

 

I tillegg må du printe ut tomme celler når du har passert siste dag i måneden, slik at tabellen inneholder like mange celler i hver rad.

 

Det eksempelet jeg viser her, viser bare én uke (altså: hvis det i det hele tatt hadde fungert. Men du har jo selv laget funksjonalitet for å begynne på ny rad etter hver søndag.

 

MVH Audun

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...