Com crear un calendari en PHP: 7 passos (amb imatges)

Taula de continguts:

Com crear un calendari en PHP: 7 passos (amb imatges)
Com crear un calendari en PHP: 7 passos (amb imatges)

Vídeo: Com crear un calendari en PHP: 7 passos (amb imatges)

Vídeo: Com crear un calendari en PHP: 7 passos (amb imatges)
Vídeo: Linux Server Basics - Configurar SSH en Centos 2024, Març
Anonim

Aquest article us ensenyarà a fer un calendari en PHP. Aquí enumereu alguns scripts de calendari PHP gratuïts. O podeu accedir directament al lloc PHPKode.com per obtenir més tutorials gratuïts sobre PHP.

Passos

Creeu un calendari al PHP Pas 1
Creeu un calendari al PHP Pas 1

Pas 1. Recopileu la informació necessària que és important per mostrar el mes real i ressalteu el dia real

A més d'això, també voleu mostrar el mes i l'any reals. Per fer-ho, necessitareu tres dades especials: el dia real, el primer dia del mes real, l'últim dia del mes real

Creeu un calendari al PHP Pas 2
Creeu un calendari al PHP Pas 2

Pas 2. Determineu quin dia va ser el primer dia, quant dura el mes i, per descomptat, quin és el dia real, amb la informació anterior

Pas 3. Utilitzeu la funció PHP integrada:

getdate ()

. Sense paràmetres, aquesta funció retorna la informació del dia real en una matriu de la següent manera:

01

Matriu

02

(

03

[segons] => 40

04

[minuts] => 58

05

[hores] => 21

06

[mday] => 17

07

[wday] => 2

08

[mon] => 6

09

[any] => 2003

10

[yday] => 167

11

[setmana] => dimarts

12

[mes] => juny

13

[0] => 1055901520

14

)

Per obtenir l’últim dia del mes amb la data d’obtenció, hem d’intentar obtenir el dia 0. del mes següent. Per tant, el codi per obtenir la informació té aquest aspecte:

1

<? php

2

$ avui

=

getdate

();

3

$ primer dia

=

getdate

(

mktime

(0, 0, 0,

$ avui

[

'mon'

], 1,

$ avui

[

'curs'

]));

4

$ lastDay

=

getdate

(

mktime

(0, 0, 0,

$ avui

[

'mon'

]+1, 0,

$ avui

[

'curs'

]));

5

?>

Pas 3.

Per mostrar un calendari necessitem una taula amb 7 columnes per als dies de la setmana. El nombre de línies en funció del nombre de dies i del primer dia del mes. Tot i això, necessitem una línia de capçalera amb informació de mes i any, una línia de capçalera amb el nom dels dies.

1

<? php

2

// Creeu una taula amb la informació de capçalera necessària

3

ressò

''

;

;

$ avui

[

"mes"

].

" - "

$ avui

[

'curs'

].

4

ressò

'

'

'

;

5

ressò

'

'

;

6

ressò

'

Mo Tu Nosaltres Th

'

;

7

ressò

'

Fr. Sa Su

8

?>

Creeu un calendari al PHP Pas 3
Creeu un calendari al PHP Pas 3
  • Ara que teniu la capçalera de la taula, empleneu la primera fila. No és tan fàcil ja que no es pot escriure 1 a la primera cel·la, 2 a la segona, etc. Només funciona si el primer dia del mes era dilluns, però i si no? Per decidir-ho, necessitem l’element del dia de la matriu firstDay. Amb aquesta informació podem omplir les cel·les d’un espai si cal. El codi per fer-ho és el següent:

    01

    <? php

    '

    ;

    02

    ressò

    '

    03

    per

    (

    $ i

    =1;

    $ i

    <

    $ primer dia

    [

    "wday"

    ];

    $ i

    ++){

    '

    ;

    04

    ressò

    '

    05

    }

    06

    $ actday

    = 0;

    07

    per

    (

    $ i

    =

    $ primer dia

    [

    "wday"

    ];

    $ i

    <=7;

    $ i

    ++){

    08

    $ actday

    ++;

    ;

    09

    ressò

    $ actday

    10

    }

    '

    ;

    11

    ressò

    '

    12

    ?>

    Creeu un calendari al PHP Pas 4
    Creeu un calendari al PHP Pas 4
  • Com a pas següent, hem d’omplir les línies següents. És una mica més fàcil, només hem de saber quantes setmanes tenim i omplir algunes files de la taula de la següent manera:

    01

    <? php

    02

    $ FullWeeks

    =

    pis

    ((

    $ lastDay

    [

    'mday'

    ]-

    $ actday

    )/7);

    03

    04

    per

    (

    $ i

    =0;

    $ i

    <

    $ FullWeeks

    ;

    $ i

    ++){

    '

    ;

    05

    ressò

    '

    06

    per

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    07

    $ actday

    ++;

    ;

    08

    ressò

    $ actday

    09

    }

    '

    ;

    10

    ressò

    '

    11

    }

    12

    13

    ?>

    Creeu un calendari al PHP Pas 5
    Creeu un calendari al PHP Pas 5
  • Com a pas de semifinal, hem d’afegir la resta del mes a l’última línia. En aquest cas és molt fàcil:

    01

    <? php

    02

    si

    (

    $ actday

    <

    $ lastDay

    [

    'mday'

    ]){

    '

    ;

    03

    ressò

    '

    04

    per

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    05

    $ actday

    ++;

    06

    si

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    07

    ressò

    $ actday

    08

    }

    09

    en cas contrari

    {

    '

    ;

    10

    ressò

    '

    11

    }

    12

    }

    '

    ;

    13

    ressò

    '

    14

    }

    15

    ?>

    Pas 7.

    Per fer el calendari una mica més agradable, introduirem alguns dissenys CSS. El fitxer CSS és molt senzill:

    01

    taula {

    02

    amplada

    :

    210 px

    ;

    03

    frontera

    :

    0px

    sòlid

    #888

    ;

    04

    col·lapse de frontera

    :

    col·lapsar

    ;

    05

    }

    06

    td {

    07

    amplada

    :

    30 px

    ;

    08

    border-collpase: collpase;

    09

    frontera

    :

    1 píxel

    sòlid

    #888

    ;

    10

    alinear text

    :

    dret

    ;

    11

    encoixinat-dret

    :

    5 píxels

    ;

    12

    }

    13

    . dies {

    14

    color de fons

    :

    # F1F3F5

    ;

    15

    }

    16

    th {

    17

    border-collpase: collpase;

    18

    frontera

    :

    1 píxel

    sòlid

    #888

    ;

    19

    color de fons

    :

    # E9ECEF

    ;

    20

    }

    21

    .actday {

    22

    color de fons

    :

    # c22

    ;

    23

    font-pes

    :

    atrevit

    ;

    24

    }

    Creeu un calendari al PHP Pas 6
    Creeu un calendari al PHP Pas 6
  • El codi complet que utilitza CSS és el següent:

    01

    <! DOCTYPE html PUBLIC

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

    "DTD / xhtml1-transitional.dtd"

    02

    03

    04

    #

    "style / style.css"

    rel =

    "full d'estil"

    tipus =

    "text / css"

    05

    06

    07

    <? php

    08

    funció

    showCalendar () {

    09

    // Obteniu informació clau del dia.

    10

    // Necessitem el primer i l’últim dia del mes i el dia real

    11

    $ avui

    =

    getdate

    ();

    12

    $ primer dia

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $ avui

    [

    'mon'

    ], 1,

    $ avui

    [

    'curs'

    ]));

    13

    $ lastDay

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $ avui

    [

    'mon'

    ]+1, 0,

    $ avui

    [

    'curs'

    ]));

    14

    15

    // Creeu una taula amb la informació de capçalera necessària

    16

    ressò

    ''

    ;

    ;

    $ avui

    [

    "mes"

    ].

    " - "

    $ avui

    [

    'curs'

    ].

    17

    ressò

    '

    '

    '

    ;

    18

    ressò

    '

    '

    ;

    19

    ressò

    '

    Mo Tu Nosaltres Th

    '

    ;

    20

    ressò

    '

    Fr. Sa Su

    21

    22

    // Mostra la primera fila del calendari amb un posicionament correcte

    '

    ;

    23

    ressò

    '

    24

    per

    (

    $ i

    =1;

    $ i

    <

    $ primer dia

    [

    "wday"

    ];

    $ i

    ++){

    '

    ;

    25

    ressò

    '

    26

    }

    27

    $ actday

    = 0;

    28

    per

    (

    $ i

    =

    $ primer dia

    [

    "wday"

    ];

    $ i

    <=7;

    $ i

    ++){

    29

    $ actday

    ++;

    30

    si

    (

    $ actday

    ==

    $ avui

    [

    'mday'

    ]) {

    31

    $ classe

    =

    'class = "actday"'

    ;

    32

    }

    en cas contrari

    {

    33

    $ classe

    =

    ;

    34

    }

    ;

    35

    ressò

    $ actday

    36

    }

    '

    ;

    37

    ressò

    '

    38

    39

    // Obteniu quantes setmanes completes hi ha al mes real

    40

    $ FullWeeks

    =

    pis

    ((

    $ lastDay

    [

    'mday'

    ]-

    $ actday

    )/7);

    41

    per

    (

    $ i

    =0;

    $ i

    <

    $ FullWeeks

    ;

    $ i

    ++){

    '

    ;

    42

    ressò

    '

    43

    per

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    44

    $ actday

    ++;

    45

    si

    (

    $ actday

    ==

    $ avui

    [

    'mday'

    ]) {

    46

    $ classe

    =

    'class = "actday"'

    ;

    47

    }

    en cas contrari

    {

    48

    $ classe

    =

    ;

    49

    }

    ;

    50

    ressò

    $ actday

    51

    }

    '

    ;

    52

    ressò

    '

    53

    }

    54

    55

    // Ara mostreu la resta del mes

    56

    si

    (

    $ actday

    <

    $ lastDay

    [

    'mday'

    ]){

    '

    ;

    57

    ressò

    '

    58

    per

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    59

    $ actday

    ++;

    60

    si

    (

    $ actday

    ==

    $ avui

    [

    'mday'

    ]) {

    61

    $ classe

    =

    'class = "actday"'

    ;

    62

    }

    en cas contrari

    {

    63

    $ classe

    =

    ;

    64

    }

    65

    66

    si

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    67

    ressò

    $ actday

    68

    }

    69

    en cas contrari

    {

    '

    ;

    70

    ressò

    '

    71

    }

    72

    }

    '

    ;

    73

    ressò

    '

    74

    }

    75

    ressò

    '

    '

    ;

    76

    }

    77

    showCalendar ();

    78

    ?>

    79

    80

  • Recomanat: