Acest articol vă va învăța cum să faceți un calendar în PHP. Aici listați câteva scripturi gratuite de calendar PHP. Sau puteți direct în site-ul phpkode.com pentru mai multe tutoriale PHP gratuite.
Pași
1. Colectați informațiile necesare care sunt importante pentru a afișa luna reală și pentru a evidenția ziua actuală. În afară de aceasta, doriți să afișați și luna și anul real. Pentru a face acest lucru, veți avea nevoie de 3 intrări de zi specială: ziua actuală, prima zi a lunii efective, ultima zi a lunii efective
2. Determinați ce zi a fost prima zi, cât timp este luna și, desigur, care este ziua actuală, cu informațiile de mai sus.
3.
Utilizați funcția PHP încorporată: getdate ()
. Fără parametri, această funcție returnează informațiile reale într-o serie după cum urmează:
Pentru a obține ultima zi a lunii cu data primirii trebuie să încercăm să obținem 0. Ziua lunii următoare. Deci codul pentru a obține informațiile arată astfel:
3 | Firstday $ = getdate ( mktime (0,0,0, $ astăzi [ "luni ` ], 1, $ astăzi [ `an` ]))- |
4 | $ Lastday = getdate ( mktime (0,0,0, $ astăzi [ "luni" ] +1,0, $ astăzi [ `an` ]))- |
Pasul 3.Pentru a afișa un calendar avem nevoie de o masă cu 7 coloane pentru zilele săptămânii. Numărul de linii în funcție de numărul de zile și de prima zi a lunii. Cu toate acestea, avem nevoie de o linie de antet cu informații despre lună și an, o linie subcapabilă cu numele zilelor.
2 | // creați un tabel cu informațiile necesare antetului |
3 | ecou " - |
"-
4 | ecou " |
". $ astăzi [ `lună` ]. " - " . $ astăzi [ `an` ]. " |
---|
"-
"-
"-
Acum că aveți antetul mesei, umpleți primul rând. Nu este atât de ușor, deoarece nu puteți scrie doar 1 în prima celulă, 2 în al doilea și așa mai departe. Funcționează numai dacă prima zi a lunii a fost luni, dar dacă nu? Pentru a decide acest lucru avem nevoie de elementul de zi de la prima zi. Cu aceste informații putem umple celulele cu un spațiu dacă este necesar. Codul pentru a face acest lucru este următoarele:"-
03 | pentru ( $ I = 1- $ I < Firstday $ [ "WDY" ]- $ I ++{{ |
"-
07 | pentru ( $ I = Firstday $ [ "WDY" ]- $ I <= 7- $ I ++{{ |
"-
"-
Ca pas următor trebuie să ne completăm la următoarele linii. Este un pic mai ușor, trebuie doar să știm câți săptămâni complete avem și să umplem niște rânduri de masă după cum urmează: 02 | $ Fullweeks = podea (( $ Lastday [ "MDY" ]- $ ACTDAY ) / 7)- |
04 | pentru ( $ I = 0- $ I < $ Fullweeks - $ I ++{{ |
"-
06 | pentru ( $ J = 0- $ J <7- $ J ++{{ |
"-
"-
Ca pas semi-final trebuie să adăugăm restul lunii până la ultima linie. În acest caz, este destul de ușor: 02 | dacă ( $ ACTDAY < $ Lastday [ "MDY" ] {{{ |
"-
04 | pentru ( $ I = 0- $ I <7- $ I ++{{ |
06 | dacă ( $ ACTDAY <= $ Lastday [ "MDY" ] {{{ |
"-
"-
"-
Pasul 7.Pentru a face calendarul puțin mai frumos, vom introduce un design CSS. Fișierul CSS este foarte simplu:03 | frontieră : 0px solid # 888 - |
04 | Colapsul de frontieră : colaps - |
08 | Border-Collpase: Collpase- |
09 | frontieră : 1px solid # 888 - |
10 | aliniere text : dreapta - |
11 | căptușeală-dreapta : 5px - |
14 | culoare de fundal : # F1F3F5 - |
17 | Border-Collpase: Collpase- |
18 | frontieră : 1px solid # 888 - |
19 | culoare de fundal : # E9ecef - |
22 | culoare de fundal : # C22 - |
23 | grosimea fontului : îndrăzneţ - |
Codul complet care utilizează CSS este următorul: 01 | "-// w3c // dtd xhtml 1.0 tranzitoriu // en" "DTD / XHTML1-Transitional.DTD" >
|
04 | # "Stil / stil.css" rel = "Stylesheet" Tip = "Text / css" /> |
08 | funcţie Showcalendar () { |
09 | // obțineți informații despre ziua cheie. |
10 | // Avem nevoie de prima și ultima zi a lunii și ziua actuală |
12 | Firstday $ = getdate ( mktime (0,0,0, $ astăzi [ "luni" ], 1, $ astăzi [ `an` ]))- |
13 | $ Lastday = getdate ( mktime (0,0,0, $ astăzi [ "luni" ] +1,0, $ astăzi [ `an` ]))- |
15 | // creați un tabel cu informațiile necesare antetului |
17 | ecou " |
". $ astăzi [ `lună` ]. " - " . $ astăzi [ `an` ]. " |
---|
"-
"-
"-
22 | // afișați primul rând calendar cu poziționarea corectă |
"-
24 | pentru ( $ I = 1- $ I < Firstday $ [ "WDY" ]- $ I ++{{ |
"-
28 | pentru ( $ I = Firstday $ [ "WDY" ]- $ I <= 7- $ I ++{{ |
30 | dacă ( $ ACTDAY == $ astăzi [ "MDY" ] {{{ |
31 | Clasa $ = Clasa ="Actori"" - |
"-
"-
39 | // obțineți câte săptămâni complete sunt în luna reală |
40 | $ Fullweeks = podea (( $ Lastday [ "MDY" ]- $ ACTDAY ) / 7)- |
41 | pentru ( $ I = 0- $ I < $ Fullweeks - $ I ++{{ |
"-
43 | pentru ( $ J = 0- $ J <7- $ J ++{{ |
45 | dacă ( $ ACTDAY == $ astăzi [ "MDY" ] {{{ |
46 | Clasa $ = Clasa ="Actori"" - |
"-
"-
55 | // afișați acum restul lunii |
56 | dacă ( $ ACTDAY < $ Lastday [ "MDY" ] {{{ |
"-
58 | pentru ( $ I = 0- $ I <7- $ I ++{{ |
60 | dacă ( $ ACTDAY == $ astăzi [ "MDY" ] {{{ |
61 | Clasa $ = Clasa ="Actori"" - |
66 | dacă ( $ ACTDAY <= $ Lastday [ "MDY" ] {{{ |
"-
"-
"-
75 | ecou " |
"-
Partajați pe rețeaua socială: