PHP programmeringsspråk har dato og klokkeslett funksjoner som forenkler skape en månedlig kalender . Den " date () "-funksjonen returnerer en formatert dato, eller deler av en dato , for en gitt UNIX tidsstempel. Den " mktime ( )" -funksjonen returnerer en Unix tidsstempel for en gitt dato og tid. Ved å kombinere de to, kan du hente navnet på måneden , den første og siste dagene av måneden , og andre nyttige verdier for utskrift av kalenderen. Lag en enkel kalender , og deretter bygge på den for å tilpasse den til dine behov . Du trenger
PHP code editor eller tekst editor
Vis flere instruksjoner
en
Start kalenderen koden ved å sette standard tidssone for ditt område. Dette vil sikre inneværende måned og i dag vises riktig
< phpdate_default_timezone_set (' America /Denver '); . ?
2
Sjekk manuset er $ _REQUEST utvalg for å se om "måned " og " år" variabler ble satt . Hvis ikke, sett dem til dagens verdier og tilordne til variabler som heter $ måneden og $ året .
If ( ! Isset ( $ _REQUEST [" måned" ] ) ) $ _REQUEST [" måned" ] = date ( " n "); if ( isset ( $ _REQUEST ! [ " år "] ) ) $ _REQUEST [ " år "] = date ( " Y "); $ måned = $ _REQUEST [" måned "] , $ year = $ _REQUEST [ ,""år "] ;
date ( " n" ) gir det numeriske måned og dato ( "Y ") returnerer den firesifrede år . Se " PHP Manual : dato" . Dokumentasjon knyttet under Referanser for en fullstendig liste over formatering strengtegn
3
generere et tidsstempel , bruker mktime ( ) , for den første dagen av den medfølgende måned og år . Still tidsparametre til " 0 ". Klokka er ikke nødvendig for å skrive ut en kalender
$ timestamp = mktime ( 0 , 0 , 0 , $ måned, 1 , $ år ); .
4
Lag variabler å holde navnet på måneden ( $ monthtxt ) , den numeriske siste dagen i måneden ( $ lastday ) , og den numeriske dag i uken den første dagen i måneden faller på ( $ firstdow , hvor søndag er " 0 ") .
$ monthtxt = date ( "F ", $ timestamp ), $ lastday = date ( " t" , $ timestamp ), $ firstdow = date ( " w" , $ timestamp ); ? >
5
Lag kalenderen header , trykking måneden ( $ monthtxt ) og år ( $ året ) over et bord med syv søyler toppet med dag- of- the- ukers kolonneoverskriftene.
< ; ? ? h2 > < php echo $ monthtxt > < php echo $ året
6
Start en for loop å gå gjennom hver celle i kalenderen. Verdien $ d vil telle gjennom antall tabellceller fra cellen øverst til venstre ( " 0 ") av tabellen gjennom cellen som inneholder den siste dagen i måneden ( $ lastday + $ firstdow - 1) .
< P > < phpfor ( $ d = 0 , $ d < ( $ lastday + $ firstdow ), $ d + + ) . {
7
Beregn dagen i måneden som skrives inn i tabellen
$ curday = $ d - $ firstdow + 1;
8
Start en ny tabell rad hvis de nåværende count lander på den første tabellen kolonnen . $ d % 7 returnerer resten av $ d /7. Når $ d % 7 er 0 , er tellingen på " Søndag "-kolonnen
if ( ( $ d % 7 ) == 0 ) echo "
\\ n"; .
9 Skriv ut tabellcelle. Når $ d har regnet opp til den første tabellen celle som inneholder en gyldig dag i måneden , vil den skrive ut verdien for den dagen i tabellen celle
echo "
"; . If ( $ d > = $ firstdow ) echo $ curday ; echo " < /td > \\ n"; 10 End raden i tabellen hvis de nåværende count lander på den siste tabellen kolonnen . Når $ d % 7 er seks , er tellingen på " Lørdag "-kolonnen if ( ( $ d % 7 ) == 6 ) echo " < /tr > \\ n "; . Side 11 End for loop , PHP container , og bordet . } ? > < /table> 12 Prøv ut din PHP script . Kall det med måneden og året til å skrive ut en kalender for en bestemt måned (for eksempel http://yoursite.com/calendar.php?month=2&year=2008 ) .
|