Il linguaggio di programmazione PHP dispone di funzioni di data e ora che semplificano la creazione di un calendario mensile . Il " date () " restituisce una data formattata , o parti di una data , per un dato timestamp UNIX . Il " mktime ( ) " restituisce un timestamp Unix per una determinata data e ora. Combinando i due, è possibile recuperare il nome del mese , i primi e gli ultimi giorni del mese , e di altri valori utili per la stampa del calendario . Creare un calendario di base , poi costruire su di esso per personalizzarlo per le vostre esigenze . Cose che ti serviranno
editor di codice PHP o editor di testo
Show More Istruzioni
1
Avviare il codice calendario impostando il fuso orario predefinito per la vostra zona . Questo garantisce che il mese corrente e oggi vengono visualizzati correttamente
< phpdate_default_timezone_set ( ' America /Denver '); . ?
2
Controllare array $ _REQUEST dello script per vedere se il "mese" e variabili "Anno" sono stati fissati . In caso contrario , li impostato su valori di oggi e di assegnare a variabili chiamate $ al mese e $ l'anno .
If ( ! Isset ( $ _REQUEST [ " mese " ] ) ) $ _REQUEST [ " mese " ] = date ( " n "); if ( isset ( $ _REQUEST ! [ " anno " ] ) ) $ _REQUEST [ " anno " ] = date ( " Y ") ; $ mese = $ _REQUEST [ " mese " ] ; $ anno = $ _REQUEST [ ,"" anno " ] ;
data
( " n" ) restituisce il mese numerico , e la data ( "Y" ) restituisce l'anno a quattro cifre . Vedere il "Manuale PHP : data" . Documentazione collegata nella sezione Riferimenti per una lista completa di formattazione di caratteri della stringa
3
Genera un timestamp , utilizzando mktime ( ) , per il primo giorno di il mese e l'anno previsto . Impostare i parametri di tempo a " 0 ". Il tempo non è necessario per la stampa di un calendario
$ timestamp = mktime ( 0 , 0 , 0 , $ mese , 1 , $ anno) ; .
4
creare le variabili da tenere il nome del mese ( $ monthtxt ) , l' ultimo giorno numerico del mese ( $ lastday ) , e il giorno della settimana numerica del primo giorno del mese cade ( $ firstdow , dove Domenica è " 0" ) .
$ monthtxt = date ( " F " , $ timestamp ) ; $ lastday = date ( " t" , $ timestamp ) ; $ firstdow = date ( " w " , $ timestamp ) ; ? >
5
Creare l'intestazione del calendario , la stampa del mese ( $ monthtxt ) e anno ( $ anno ) sopra un tavolo con sette colonne sormontato da giorno - della- settimana intestazioni di colonna .
< ; ? ? ? h2 > < php echo $ monthtxt > < php echo $ all'anno Pagina 6
Inizia un ciclo for per scorrere ogni cella della tabella del calendario . Il valore di $ d conterà attraverso il numero di celle di una tabella dalla cella in alto a sinistra ( "0" ) della tabella attraverso la cella contenente l'ultimo giorno del mese ( $ + $ lastday firstdow - 1) .
< P ? > < phpfor ( $ d = 0; $ d < ( $ + $ lastday firstdow ) ; $ d + +) . {
7
Calcola il giorno del mese in corso di stampa nella tabella
$ curday = $ d - $ firstdow + 1 ;
8
Inizia una nuova riga di tabella se le attuali terre contare sulla prima colonna della tabella. $ d % 7 restituisce il resto di $ d /7 . Quando $ d % 7 è 0 , il conteggio è sulla colonna "Domenica "
if ( ( $ d % 7) == 0 ) echo "tr \\ n"; .
9
Stampa cella della tabella. Quando $ d ha contato fino alla prima cella della tabella contenente un giorno valido del mese , verrà stampato il valore per quel giorno nella cella della tabella
echo "
" ; . If ( $ d > = $ firstdow ) echo $ curday ; echo " < /td> \\ n"; 10 fine della riga della tabella , se le attuali terre contare su l'ultima colonna della tabella. Quando $ d % 7 è 6, il conteggio è sulla colonna "Sabato " if ( ( $ d % 7) == 6) echo " < /tr> \\ n"; . 11 Fine del ciclo for , contenitore di PHP , e il tavolo . } > < /table> 12 Provate il vostro script PHP . Chiamatelo con il mese e l' anno di stampare un calendario per un mese specifico (ad esempio , http://yoursite.com/calendar.php?month=2&year=2008 ) .
|