Gå til innhold

Lage kalender man kan bla mellom måneder i


Anbefalte innlegg

Har tenkt litt på å lage en kalender.

En ting er å lage en kalender for den mnd. vi er i nå, det går greit. Men jeg vil ha en kalender man kan bla i...

 

Noen tips?

Hovedproblemet er vel i grunnen å finne ut hvilken dag den 1. i hver mnd. er på.. Hvilken dag var f.eks. 1. november i 2004?

Lenke til kommentar
Videoannonse
Annonse

Hvis du sier at det ikke er noe problem å lage en kalender for denne måneden, hva er da den stor utfordringen med å lage en man kan bla i?

 

Sett bare variabelen måned og år til å være dynamsike. Vis oss kalenderen din slik du har lagd den nå, så blir det lettere å vise direkte tips. Tror forresten jeg kostet en liten kode til hvordan man lager en kallender her for et par år siden.

Lenke til kommentar

Det kan jeg, vet du!

 

Laget ført array med måneder og ukenavn. Henter hvilken mnd/år som skal vises fra adresselinjen.

 

For å finne ut hvilken dag den 1. i den aktuelle mnd. er, bruker jeg

 

$forste_dag = date(w, mktime(1,1,1,$mnd,1,$aar));

if($forste_dag == 0)

$forste_dag = 7;

 

Trenger også ant dager i mnd. Da er cal_days_in_month(...) tingen å se på.

 

Det første jeg printer ut er en rad i tabellen hvor hver dag har sin kolonne.

Så lager jeg ny rad, og printer først ut tomme celler for hver dag som er før den 1. i måneden.... Dersom første dag er onsdag, må vi printe ut to tomme celler før vi begynner å skrive dato. (Mandag og tirsdag er tomme)

 

Så er det bare å printe ut tallene fra 1 til $ant_dager.

Man må også legge inn en </tr><tr> når det er slutt på uka.

 

Helt til slutt printer man ut flere tomme celler, slik at tabellen blir komplett.

 

 

Ble sikkert dårlig forklart, men gidder ikke poste koden, da folk har godt av å prøve litt selv! Dersom noen likevel vil ha koden kan de sende en PM...

Lenke til kommentar
  • 4 uker senere...
Oki. Funka fint hos meg, men takk!

 

Edit: Ble slik: $ant_dager = (date(j, mktime(0,0,0,$mnd_n,-1,$aar))+1);

4929589[/snapback]

Dette blir jo feil?

 

Dette funker:

 

for($a = 1; $a <= 32; $a++)

{

$temp = date(j,mktime(1,1,1,$month,$a,$year));

if($a == $temp)

{

$antall_dager = $a

}

}

Endret av Axentrix
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...