Jak vytvořit kalendář v PHP: 7 kroků (s obrázky)

Obsah:

Jak vytvořit kalendář v PHP: 7 kroků (s obrázky)
Jak vytvořit kalendář v PHP: 7 kroků (s obrázky)

Video: Jak vytvořit kalendář v PHP: 7 kroků (s obrázky)

Video: Jak vytvořit kalendář v PHP: 7 kroků (s obrázky)
Video: Установка и настройка MariaDB в CentOS 8 2024, Duben
Anonim

Tento článek vás naučí, jak vytvořit kalendář v PHP. Zde seznam některých bezplatných skriptů kalendáře php. Nebo můžete přímo na stránky PHPKode.com získat další bezplatné návody PHP.

Kroky

Vytvořte kalendář v PHP Krok 1
Vytvořte kalendář v PHP Krok 1

Krok 1. Shromážděte potřebné informace, které jsou důležité pro zobrazení aktuálního měsíce, a zvýrazněte aktuální den

Kromě toho chcete také zobrazit skutečný měsíc a rok. K tomu budete potřebovat 3 speciální vstupy: skutečný den, první den skutečného měsíce, poslední den skutečného měsíce

Vytvořte kalendář v PHP Krok 2
Vytvořte kalendář v PHP Krok 2

Krok 2. S výše uvedenými informacemi určete, který den byl první den, jak dlouhý je měsíc a samozřejmě, který je skutečným dnem

Krok 3. Použijte vestavěnou funkci PHP:

getdate ()

. Bez parametrů tato funkce vrací informace o aktuálním dni v poli následujícím způsobem:

01

Pole

02

(

03

[sekundy] => 40

04

[minuty] => 58

05

[hodiny] => 21

06

[mday] => 17

07

[wday] => 2

08

[mon] => 6

09

[rok] => 2003

10

[yday] => 167

11

[den v týdnu] => úterý

12

[měsíc] => červen

13

[0] => 1055901520

14

)

Abychom získali poslední den v měsíci s datem získání, musíme se pokusit získat 0. den následujícího měsíce. Kód pro získání informací tedy vypadá takto:

1

<? php

2

$ dnes

=

dostat datum

();

3

$ firstDay

=

dostat datum

(

mktime

(0, 0, 0,

$ dnes

[

'mon'

], 1,

$ dnes

[

'rok'

]));

4

$ lastDay

=

dostat datum

(

mktime

(0, 0, 0,

$ dnes

[

'mon'

]+1, 0,

$ dnes

[

'rok'

]));

5

?>

Krok 3.

K zobrazení kalendáře potřebujeme tabulku se 7 sloupci pro dny v týdnu. Počet řádků v závislosti na počtu dnů a prvním dni v měsíci. Potřebujeme však řádek záhlaví s informacemi o měsíci a roce, řádek záhlaví se jménem dnů.

1

<? php

2

// Vytvořte tabulku s potřebnými informacemi záhlaví

3

echo

''

;

;

$ dnes

[

'Měsíc'

].

" - "

$ dnes

[

'rok'

].

4

echo

'

'

'

;

5

echo

'

'

;

6

echo

'

Mo Tu My Th

'

;

7

echo

'

Fr Sa Su

8

?>

Vytvořte kalendář v PHP Krok 3
Vytvořte kalendář v PHP Krok 3
  • Nyní, když máte záhlaví tabulky, vyplňte první řádek. Není to tak snadné, protože nemůžete jednoduše napsat 1 do první buňky, 2 do druhé atd. Funguje to pouze v případě, že první den v měsíci bylo pondělí, ale co když ne? Abychom to rozhodli, potřebujeme položku dne z pole firstDay. S těmito informacemi můžeme v případě potřeby vyplnit buňky mezerou. K tomu slouží následující kód:

    01

    <? php

    '

    ;

    02

    echo

    '

    03

    pro

    (

    $ i

    =1;

    $ i

    <

    $ firstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    04

    echo

    '

    05

    }

    06

    $ actday

    = 0;

    07

    pro

    (

    $ i

    =

    $ firstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    08

    $ actday

    ++;

    ;

    09

    echo

    $ actday

    10

    }

    '

    ;

    11

    echo

    '

    12

    ?>

    Vytvořte kalendář v PHP Krok 4
    Vytvořte kalendář v PHP Krok 4
  • Jako další krok musíme vyplnit následující řádky. Je to o něco jednodušší, stačí vědět, kolik máme celý týden, a vyplnit několik řádků tabulky následovně:

    01

    <? php

    02

    $ fullTýdny

    =

    podlaha

    ((

    $ lastDay

    [

    'mday'

    ]-

    $ actday

    )/7);

    03

    04

    pro

    (

    $ i

    =0;

    $ i

    <

    $ fullTýdny

    ;

    $ i

    ++){

    '

    ;

    05

    echo

    '

    06

    pro

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    07

    $ actday

    ++;

    ;

    08

    echo

    $ actday

    09

    }

    '

    ;

    10

    echo

    '

    11

    }

    12

    13

    ?>

    Vytvořte kalendář v PHP Krok 5
    Vytvořte kalendář v PHP Krok 5
  • Jako semifinálový krok musíme přidat poslední měsíc na poslední řádek. V tomto případě je to docela snadné:

    01

    <? php

    02

    -li

    (

    $ actday

    <

    $ lastDay

    [

    'mday'

    ]){

    '

    ;

    03

    echo

    '

    04

    pro

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    05

    $ actday

    ++;

    06

    -li

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    07

    echo

    $ actday

    08

    }

    09

    jiný

    {

    '

    ;

    10

    echo

    '

    11

    }

    12

    }

    '

    ;

    13

    echo

    '

    14

    }

    15

    ?>

    Krok 7.

    Aby byl kalendář trochu hezčí, představíme nějaký design CSS. Soubor CSS je velmi jednoduchý:

    01

    stůl {

    02

    šířka

    :

    210 pixelů

    ;

    03

    okraj

    :

    0px

    pevný

    #888

    ;

    04

    kolaps hranic

    :

    kolaps

    ;

    05

    }

    06

    td {

    07

    šířka

    :

    30px

    ;

    08

    border-collpase: collpase;

    09

    okraj

    :

    1px

    pevný

    #888

    ;

    10

    zarovnání textu

    :

    že jo

    ;

    11

    polstrování-pravé

    :

    5px

    ;

    12

    }

    13

    .dny {

    14

    barva pozadí

    :

    #F1F3F5

    ;

    15

    }

    16

    th {

    17

    border-collpase: collpase;

    18

    okraj

    :

    1px

    pevný

    #888

    ;

    19

    barva pozadí

    :

    #E9ECEF

    ;

    20

    }

    21

    .actday {

    22

    barva pozadí

    :

    #c22

    ;

    23

    váha písma

    :

    tučně

    ;

    24

    }

    Vytvořte kalendář v PHP Krok 6
    Vytvořte kalendář v PHP Krok 6
  • Kompletní kód pomocí CSS je následující:

    01

    <! DOCTYPE html PUBLIC

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

    "DTD/xhtml1-transitional.dtd"

    02

    03

    04

    #

    "style/style.css"

    rel =

    "šablona stylů"

    typ =

    "text/css"

    05

    06

    07

    <? php

    08

    funkce

    showCalendar () {

    09

    // Získejte informace o klíčových dnech.

    10

    // Potřebujeme první a poslední den v měsíci a skutečný den

    11

    $ dnes

    =

    dostat datum

    ();

    12

    $ firstDay

    =

    dostat datum

    (

    mktime

    (0, 0, 0,

    $ dnes

    [

    'mon'

    ], 1,

    $ dnes

    [

    'rok'

    ]));

    13

    $ lastDay

    =

    dostat datum

    (

    mktime

    (0, 0, 0,

    $ dnes

    [

    'mon'

    ]+1, 0,

    $ dnes

    [

    'rok'

    ]));

    14

    15

    // Vytvořte tabulku s potřebnými informacemi záhlaví

    16

    echo

    ''

    ;

    ;

    $ dnes

    [

    'Měsíc'

    ].

    " - "

    $ dnes

    [

    'rok'

    ].

    17

    echo

    '

    '

    '

    ;

    18

    echo

    '

    '

    ;

    19

    echo

    '

    Mo Tu My Th

    '

    ;

    20

    echo

    '

    Fr Sa Su

    21

    22

    // Zobrazí první řádek kalendáře se správným umístěním

    '

    ;

    23

    echo

    '

    24

    pro

    (

    $ i

    =1;

    $ i

    <

    $ firstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    25

    echo

    '

    26

    }

    27

    $ actday

    = 0;

    28

    pro

    (

    $ i

    =

    $ firstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    29

    $ actday

    ++;

    30

    -li

    (

    $ actday

    ==

    $ dnes

    [

    'mday'

    ]) {

    31

    $ třída

    =

    'class = "aktday""

    ;

    32

    }

    jiný

    {

    33

    $ třída

    =

    ;

    34

    }

    ;

    35

    echo

    „$ actday

    36

    }

    '

    ;

    37

    echo

    '

    38

    39

    // Zjistěte, kolik celých týdnů je ve skutečném měsíci

    40

    $ fullTýdny

    =

    podlaha

    ((

    $ lastDay

    [

    'mday'

    ]-

    $ actday

    )/7);

    41

    pro

    (

    $ i

    =0;

    $ i

    <

    $ fullTýdny

    ;

    $ i

    ++){

    '

    ;

    42

    echo

    '

    43

    pro

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    44

    $ actday

    ++;

    45

    -li

    (

    $ actday

    ==

    $ dnes

    [

    'mday'

    ]) {

    46

    $ třída

    =

    'class = "aktday""

    ;

    47

    }

    jiný

    {

    48

    $ třída

    =

    ;

    49

    }

    ;

    50

    echo

    „$ actday

    51

    }

    '

    ;

    52

    echo

    '

    53

    }

    54

    55

    // Nyní zobrazte zbytek měsíce

    56

    -li

    (

    $ actday

    <

    $ lastDay

    [

    'mday'

    ]){

    '

    ;

    57

    echo

    '

    58

    pro

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    59

    $ actday

    ++;

    60

    -li

    (

    $ actday

    ==

    $ dnes

    [

    'mday'

    ]) {

    61

    $ třída

    =

    'class = "aktday""

    ;

    62

    }

    jiný

    {

    63

    $ třída

    =

    ;

    64

    }

    65

    66

    -li

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    67

    echo

    „$ actday

    68

    }

    69

    jiný

    {

    '

    ;

    70

    echo

    '

    71

    }

    72

    }

    '

    ;

    73

    echo

    '

    74

    }

    75

    echo

    '

    '

    ;

    76

    }

    77

    showCalendar ();

    78

    ?>

    79

    80

  • Doporučuje: