Ako vytvoriť kalendár v PHP: 7 krokov (s obrázkami)

Obsah:

Ako vytvoriť kalendár v PHP: 7 krokov (s obrázkami)
Ako vytvoriť kalendár v PHP: 7 krokov (s obrázkami)

Video: Ako vytvoriť kalendár v PHP: 7 krokov (s obrázkami)

Video: Ako vytvoriť kalendár v PHP: 7 krokov (s obrázkami)
Video: Как поднять домашний сервер со своим доменом своими руками? 2024, Apríl
Anonim

Tento článok vás naučí, ako si vytvoriť kalendár v PHP. Tu nájdete zoznam bezplatných skriptov php kalendára. Alebo môžete priamo na stránku PHPKode.com získať ďalšie bezplatné návody PHP.

Kroky

Vytvorte si kalendár v PHP Krok 1
Vytvorte si kalendár v PHP Krok 1

Krok 1. Zhromaždite potrebné informácie, ktoré sú dôležité pre zobrazenie aktuálneho mesiaca, a zvýraznite aktuálny deň

Okrem toho chcete zobraziť aj skutočný mesiac a rok. Na to budete potrebovať 3 vstupy pre špeciálny deň: skutočný deň, prvý deň aktuálneho mesiaca, posledný deň aktuálneho mesiaca

Vytvorte si kalendár v PHP, krok 2
Vytvorte si kalendár v PHP, krok 2

Krok 2. Na základe vyššie uvedených informácií určte, ktorý deň bol prvým dňom, ako dlhý je mesiac a samozrejme, ktorý je skutočným dňom

Krok 3. Použite vstavanú funkciu PHP:

getdate ()

. Bez parametrov táto funkcia vráti informácie o aktuálnom dni v poli nasledovne:

01

Array

02

(

03

[sekundy] => 40

04

[minúty] => 58

05

[hodiny] => 21

06

[mday] => 17

07

[wday] => 2

08

[mon] => 6

09

[rok] => 2003

10

[yday] => 167

11

[všedný deň] => utorok

12

[mesiac] => Jún

13

[0] => 1055901520

14

)

Ak chcete získať posledný deň v mesiaci s dátumom získania, musíme sa pokúsiť získať 0. deň nasledujúceho mesiaca. Kód na získanie informácií teda vyzerá takto:

1

<? php

2

$ dnes

=

getdate

();

3

$ firstDay

=

getdate

(

mktime

(0, 0, 0,

$ dnes

[

'mon'

], 1,

$ dnes

[

'rok'

]));

4

$ lastDay

=

getdate

(

mktime

(0, 0, 0,

$ dnes

[

'mon'

]+1, 0,

$ dnes

[

'rok'

]));

5

?>

Krok 3

Na zobrazenie kalendára potrebujeme tabuľku so 7 stĺpcami pre dni v týždni. Počet riadkov v závislosti od počtu dní a prvého dňa v mesiaci. Potrebujeme však riadok záhlavia s informáciami o mesiaci a roku, riadok podnadpisu s názvom dní.

1

<? php

2

// Vytvorte tabuľku s potrebnými informáciami o hlavičke

3

ozvena

''

;

;

$ dnes

[

'mesiac'

].

" - "

$ dnes

[

'rok'

].

4

ozvena

'

'

'

;

5

ozvena

'

'

;

6

ozvena

'

Mo Tu My Th

'

;

7

ozvena

'

O Sa Su

8

?>

Vytvorte si kalendár v PHP, krok 3
Vytvorte si kalendár v PHP, krok 3
  • Teraz, keď máte hlavičku tabuľky, vyplňte prvý riadok. Nie je to také jednoduché, pretože nemôžete napísať iba 1 do prvej bunky, 2 do druhej a podobne. Funguje to iba vtedy, ak bol prvý deň v mesiaci pondelok, ale čo keď nie? Aby sme sa rozhodli, potrebujeme položku dňa z poľa firstDay. Pomocou týchto informácií môžeme v prípade potreby bunky vyplniť medzerou. Kód, ako to urobiť, je nasledujúci:

    01

    <? php

    '

    ;

    02

    ozvena

    '

    03

    pre

    (

    $ i

    =1;

    $ i

    <

    $ firstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    04

    ozvena

    '

    05

    }

    06

    $ actday

    = 0;

    07

    pre

    (

    $ i

    =

    $ firstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    08

    $ actday

    ++;

    ;

    09

    ozvena

    $ actday

    10

    }

    '

    ;

    11

    ozvena

    '

    12

    ?>

    Vytvorte si kalendár v PHP, krok 4
    Vytvorte si kalendár v PHP, krok 4
  • Ako ďalší krok musíme vyplniť nasledujúce riadky. Je to o niečo jednoduchšie, stačí nám vedieť, koľko máme celého týždňa, a vyplniť niekoľko riadkov tabuľky nasledovne:

    01

    <? php

    02

    $ fullTýždne

    =

    poschodie

    ((

    $ lastDay

    [

    'mday'

    ]-

    $ actday

    )/7);

    03

    04

    pre

    (

    $ i

    =0;

    $ i

    <

    $ fullTýždne

    ;

    $ i

    ++){

    '

    ;

    05

    ozvena

    '

    06

    pre

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    07

    $ actday

    ++;

    ;

    08

    ozvena

    $ actday

    09

    }

    '

    ;

    10

    ozvena

    '

    11

    }

    12

    13

    ?>

    Vytvorte si kalendár v PHP, krok 5
    Vytvorte si kalendár v PHP, krok 5
  • Ako semifinálový krok musíme do posledného riadka pridať zvyšok mesiaca. V tomto prípade je to celkom jednoduché:

    01

    <? php

    02

    keby

    (

    $ actday

    <

    $ lastDay

    [

    'mday'

    ]){

    '

    ;

    03

    ozvena

    '

    04

    pre

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    05

    $ actday

    ++;

    06

    keby

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    07

    ozvena

    $ actday

    08

    }

    09

    inak

    {

    '

    ;

    10

    ozvena

    '

    11

    }

    12

    }

    '

    ;

    13

    ozvena

    '

    14

    }

    15

    ?>

    Krok 7.

    Aby bol kalendár o niečo krajší, predstavíme niekoľko návrhov CSS. Súbor CSS je veľmi jednoduchý:

    01

    tabuľka {

    02

    šírka

    :

    210 pixlov

    ;

    03

    hranica

    :

    0 pixelov

    pevný

    #888

    ;

    04

    hraničný kolaps

    :

    zrútiť

    ;

    05

    }

    06

    td {

    07

    šírka

    :

    30 pixlov

    ;

    08

    border-collpase: collpase;

    09

    hranica

    :

    1px

    pevný

    #888

    ;

    10

    zarovnanie textu

    :

    správny

    ;

    11

    polstrovanie-pravé

    :

    5 pixelov

    ;

    12

    }

    13

    .dni{

    14

    farba pozadia

    :

    #F1F3F5

    ;

    15

    }

    16

    {0}

    17

    border-collpase: collpase;

    18

    hranica

    :

    1px

    pevný

    #888

    ;

    19

    farba pozadia

    :

    #E9ECEF

    ;

    20

    }

    21

    .aktoden {

    22

    farba pozadia

    :

    #c22

    ;

    23

    hmotnosť písma

    :

    odvážny

    ;

    24

    }

    Vytvorte si kalendár v PHP, krok 6
    Vytvorte si kalendár v PHP, krok 6
  • Úplný kód používajúci CSS je nasledujúci:

    01

    <! DOCTYPE html VEREJNÝ

    "-// W3C // DTD XHTML 1.0 Transitional // EN"

    "DTD/xhtml1-transitional.dtd"

    02

    03

    04

    #

    "style/style.css"

    rel =

    "šablóna štýlov"

    typ =

    "text/css"

    05

    06

    07

    <? php

    08

    funkciu

    showCalendar () {

    09

    // Získajte informácie o kľúčových dňoch.

    10

    // Potrebujeme prvý a posledný deň v mesiaci a skutočný deň

    11

    $ dnes

    =

    getdate

    ();

    12

    $ firstDay

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $ dnes

    [

    'mon'

    ], 1,

    $ dnes

    [

    'rok'

    ]));

    13

    $ lastDay

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $ dnes

    [

    'mon'

    ]+1, 0,

    $ dnes

    [

    'rok'

    ]));

    14

    15

    // Vytvorte tabuľku s potrebnými informáciami o hlavičke

    16

    ozvena

    ''

    ;

    ;

    $ dnes

    [

    'mesiac'

    ].

    " - "

    $ dnes

    [

    'rok'

    ].

    17

    ozvena

    '

    '

    '

    ;

    18

    ozvena

    '

    '

    ;

    19

    ozvena

    '

    Mo Tu My Th

    '

    ;

    20

    ozvena

    '

    O Sa Su

    21

    22

    // Zobrazí prvý riadok kalendára so správnym umiestnením

    '

    ;

    23

    ozvena

    '

    24

    pre

    (

    $ i

    =1;

    $ i

    <

    $ firstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    25

    ozvena

    '

    26

    }

    27

    $ actday

    = 0;

    28

    pre

    (

    $ i

    =

    $ firstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    29

    $ actday

    ++;

    30

    keby

    (

    $ actday

    ==

    $ dnes

    [

    'mday'

    ]) {

    31

    $ trieda

    =

    'class = "aktday""

    ;

    32

    }

    inak

    {

    33

    $ trieda

    =

    ;

    34

    }

    ;

    35

    ozvena

    „$ actday

    36

    }

    '

    ;

    37

    ozvena

    '

    38

    39

    // Zistite, koľko celých týždňov je v aktuálnom mesiaci

    40

    $ fullTýždne

    =

    poschodie

    ((

    $ lastDay

    [

    'mday'

    ]-

    $ actday

    )/7);

    41

    pre

    (

    $ i

    =0;

    $ i

    <

    $ fullTýždne

    ;

    $ i

    ++){

    '

    ;

    42

    ozvena

    '

    43

    pre

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    44

    $ actday

    ++;

    45

    keby

    (

    $ actday

    ==

    $ dnes

    [

    'mday'

    ]) {

    46

    $ trieda

    =

    'class = "aktday""

    ;

    47

    }

    inak

    {

    48

    $ trieda

    =

    ;

    49

    }

    ;

    50

    ozvena

    „$ actday

    51

    }

    '

    ;

    52

    ozvena

    '

    53

    }

    54

    55

    // Teraz zobrazte zvyšok mesiaca

    56

    keby

    (

    $ actday

    <

    $ lastDay

    [

    'mday'

    ]){

    '

    ;

    57

    ozvena

    '

    58

    pre

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    59

    $ actday

    ++;

    60

    keby

    (

    $ actday

    ==

    $ dnes

    [

    'mday'

    ]) {

    61

    $ trieda

    =

    'class = "aktday""

    ;

    62

    }

    inak

    {

    63

    $ trieda

    =

    ;

    64

    }

    65

    66

    keby

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    67

    ozvena

    „$ actday

    68

    }

    69

    inak

    {

    '

    ;

    70

    ozvena

    '

    71

    }

    72

    }

    '

    ;

    73

    ozvena

    '

    74

    }

    75

    ozvena

    '

    '

    ;

    76

    }

    77

    showCalendar ();

    78

    ?>

    79

    80

  • Odporúča: