Como criar um calendário em PHP: 7 etapas (com imagens)

Índice:

Como criar um calendário em PHP: 7 etapas (com imagens)
Como criar um calendário em PHP: 7 etapas (com imagens)

Vídeo: Como criar um calendário em PHP: 7 etapas (com imagens)

Vídeo: Como criar um calendário em PHP: 7 etapas (com imagens)
Vídeo: how to install and configure ssh in CentOS 7 2024, Abril
Anonim

Este artigo irá ensiná-lo a fazer um calendário em PHP. Aqui está uma lista de alguns scripts de calendário php gratuitos. Ou você pode diretamente no site PHPKode.com para mais tutoriais de PHP gratuitos.

Passos

Crie um calendário em PHP, etapa 1
Crie um calendário em PHP, etapa 1

Etapa 1. Colete as informações necessárias que são importantes para exibir o mês real e destaque o dia real

Além disso, você deseja exibir o mês e o ano reais também. Para fazer isso, você precisará de 3 entradas de dias especiais: o dia real, o primeiro dia do mês real, o último dia do mês real

Crie um calendário em PHP, etapa 2
Crie um calendário em PHP, etapa 2

Etapa 2. Determine em que dia foi o primeiro dia, qual a duração do mês e, claro, qual é o dia real, com as informações acima

Etapa 3. Use a função integrada do PHP:

getdate ()

. Sem parâmetros, esta função retorna as informações do dia real em uma matriz da seguinte maneira:

01

Variedade

02

(

03

[segundos] => 40

04

[minutos] => 58

05

[horas] => 21

06

[dia] => 17

07

[wday] => 2

08

[seg] => 6

09

[ano] => 2003

10

[dia] => 167

11

[dia da semana] => terça-feira

12

[mês] => junho

13

[0] => 1055901520

14

)

Para obter o último dia do mês com data de obtenção, precisamos tentar obter o 0. dia do mês seguinte. Portanto, o código para obter as informações é assim:

1

<? php

2

$ hoje

=

getdate

();

3

$ firstDay

=

getdate

(

mktime

(0, 0, 0,

$ hoje

[

'seg'

], 1,

$ hoje

[

'ano'

]));

4

$ lastDay

=

getdate

(

mktime

(0, 0, 0,

$ hoje

[

'seg'

]+1, 0,

$ hoje

[

'ano'

]));

5

?>

Etapa 3.

Para exibir um calendário, precisamos de uma tabela com 7 colunas para os dias da semana. O número de linhas dependendo do número de dias e do primeiro dia do mês. No entanto, precisamos de uma linha de cabeçalho com informações de mês e ano, uma linha de subcabeçalho com o nome dos dias.

1

<? php

2

// Crie uma tabela com as informações de cabeçalho necessárias

3

eco

''

;

;

$ hoje

[

'mês'

].

" - "

$ hoje

[

'ano'

].

4

eco

'

'

'

;

5

eco

'

'

;

6

eco

'

Mo Tu Nós º

'

;

7

eco

'

Fr Su

8

?>

Crie um calendário em PHP Etapa 3
Crie um calendário em PHP Etapa 3
  • Agora que você tem o cabeçalho da tabela, preencha a primeira linha. Não é tão fácil, pois você não pode simplesmente escrever 1 na primeira célula, 2 na segunda e assim por diante. Só funciona se o primeiro dia do mês for segunda-feira, mas e se não for? Para decidir isso, precisamos do item do dia do array firstDay. Com essas informações, podemos preencher as células com um espaço, se necessário. O código para fazer isso é o seguinte:

    01

    <? php

    '

    ;

    02

    eco

    '

    03

    para

    (

    $ i

    =1;

    $ i

    <

    $ firstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    04

    eco

    '

    05

    }

    06

    $ actday

    = 0;

    07

    para

    (

    $ i

    =

    $ firstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    08

    $ actday

    ++;

    ;

    09

    eco

    $ actday

    10

    }

    '

    ;

    11

    eco

    '

    12

    ?>

    Crie um calendário em PHP Etapa 4
    Crie um calendário em PHP Etapa 4
  • Como próximo passo, precisamos preencher as linhas seguintes. É um pouco mais fácil, só precisamos saber quantas semanas completas temos e preencher algumas linhas da tabela da seguinte forma:

    01

    <? php

    02

    $ fullWeeks

    =

    piso

    ((

    $ lastDay

    [

    'meu dia'

    ]-

    $ actday

    )/7);

    03

    04

    para

    (

    $ i

    =0;

    $ i

    <

    $ fullWeeks

    ;

    $ i

    ++){

    '

    ;

    05

    eco

    '

    06

    para

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    07

    $ actday

    ++;

    ;

    08

    eco

    $ actday

    09

    }

    '

    ;

    10

    eco

    '

    11

    }

    12

    13

    ?>

    Crie um calendário em PHP Etapa 5
    Crie um calendário em PHP Etapa 5
  • Como etapa semifinal, precisamos adicionar o resto do mês à última linha. Nesse caso, é muito fácil:

    01

    <? php

    02

    E se

    (

    $ actday

    <

    $ lastDay

    [

    'meu dia'

    ]){

    '

    ;

    03

    eco

    '

    04

    para

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    05

    $ actday

    ++;

    06

    E se

    (

    $ actday

    <=

    $ lastDay

    [

    'meu dia'

    ]){

    ;

    07

    eco

    $ actday

    08

    }

    09

    outro

    {

    '

    ;

    10

    eco

    '

    11

    }

    12

    }

    '

    ;

    13

    eco

    '

    14

    }

    15

    ?>

    Etapa 7.

    Para tornar o calendário um pouco mais agradável, apresentaremos alguns designs CSS. O arquivo CSS é muito simples:

    01

    tabela {

    02

    largura

    :

    210px

    ;

    03

    fronteira

    :

    0px

    sólido

    #888

    ;

    04

    colapso da fronteira

    :

    colapso

    ;

    05

    }

    06

    td {

    07

    largura

    :

    30px

    ;

    08

    border-collpase: collpase;

    09

    fronteira

    :

    1px

    sólido

    #888

    ;

    10

    alinhamento de texto

    :

    direito

    ;

    11

    padding-right

    :

    5px

    ;

    12

    }

    13

    .dias{

    14

    cor de fundo

    :

    # F1F3F5

    ;

    15

    }

    16

    º {

    17

    border-collpase: collpase;

    18

    fronteira

    :

    1px

    sólido

    #888

    ;

    19

    cor de fundo

    :

    # E9ECEF

    ;

    20

    }

    21

    .actday {

    22

    cor de fundo

    :

    # c22

    ;

    23

    espessura da fonte

    :

    negrito

    ;

    24

    }

    Crie um calendário em PHP, etapa 6
    Crie um calendário em PHP, etapa 6
  • O código completo usando CSS é o seguinte:

    01

    <! DOCTYPE html PUBLIC

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

    "DTD / xhtml1-transitional.dtd"

    02

    03

    04

    #

    "style / style.css"

    rel =

    "folha de estilo"

    tipo =

    "text / css"

    05

    06

    07

    <? php

    08

    função

    showCalendar () {

    09

    // Obtenha informações importantes do dia.

    10

    // Precisamos do primeiro e último dia do mês e do dia real

    11

    $ hoje

    =

    getdate

    ();

    12

    $ firstDay

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $ hoje

    [

    'seg'

    ], 1,

    $ hoje

    [

    'ano'

    ]));

    13

    $ lastDay

    =

    getdate

    (

    mktime

    (0, 0, 0,

    $ hoje

    [

    'seg'

    ]+1, 0,

    $ hoje

    [

    'ano'

    ]));

    14

    15

    // Crie uma tabela com as informações de cabeçalho necessárias

    16

    eco

    ''

    ;

    ;

    $ hoje

    [

    'mês'

    ].

    " - "

    $ hoje

    [

    'ano'

    ].

    17

    eco

    '

    '

    '

    ;

    18

    eco

    '

    '

    ;

    19

    eco

    '

    Mo Tu Nós º

    '

    ;

    20

    eco

    '

    Fr Su

    21

    22

    // Mostra a primeira linha do calendário com o posicionamento correto

    '

    ;

    23

    eco

    '

    24

    para

    (

    $ i

    =1;

    $ i

    <

    $ firstDay

    [

    'wday'

    ];

    $ i

    ++){

    '

    ;

    25

    eco

    '

    26

    }

    27

    $ actday

    = 0;

    28

    para

    (

    $ i

    =

    $ firstDay

    [

    'wday'

    ];

    $ i

    <=7;

    $ i

    ++){

    29

    $ actday

    ++;

    30

    E se

    (

    $ actday

    ==

    $ hoje

    [

    'mday'

    ]) {

    31

    $ class

    =

    'classe = "dia de ação"'

    ;

    32

    }

    outro

    {

    33

    $ class

    =

    ;

    34

    }

    ;

    35

    eco

    $ actday

    36

    }

    '

    ;

    37

    eco

    '

    38

    39

    // Obtenha quantas semanas completas existem no mês real

    40

    $ fullWeeks

    =

    piso

    ((

    $ lastDay

    [

    'meu dia'

    ]-

    $ actday

    )/7);

    41

    para

    (

    $ i

    =0;

    $ i

    <

    $ fullWeeks

    ;

    $ i

    ++){

    '

    ;

    42

    eco

    '

    43

    para

    (

    $ j

    =0;

    $ j

    <7;

    $ j

    ++){

    44

    $ actday

    ++;

    45

    E se

    (

    $ actday

    ==

    $ hoje

    [

    'meu dia'

    ]) {

    46

    $ class

    =

    'classe = "dia de ação"'

    ;

    47

    }

    outro

    {

    48

    $ class

    =

    ;

    49

    }

    ;

    50

    eco

    $ actday

    51

    }

    '

    ;

    52

    eco

    '

    53

    }

    54

    55

    // Agora exibe o resto do mês

    56

    E se

    (

    $ actday

    <

    $ lastDay

    [

    'meu dia'

    ]){

    '

    ;

    57

    eco

    '

    58

    para

    (

    $ i

    =0;

    $ i

    <7;

    $ i

    ++){

    59

    $ actday

    ++;

    60

    E se

    (

    $ actday

    ==

    $ hoje

    [

    'meu dia'

    ]) {

    61

    $ class

    =

    'classe = "dia de ação"'

    ;

    62

    }

    outro

    {

    63

    $ class

    =

    ;

    64

    }

    65

    66

    E se

    (

    $ actday

    <=

    $ lastDay

    [

    'mday'

    ]){

    ;

    67

    eco

    $ actday

    68

    }

    69

    outro

    {

    '

    ;

    70

    eco

    '

    71

    }

    72

    }

    '

    ;

    73

    eco

    '

    74

    }

    75

    eco

    '

    '

    ;

    76

    }

    77

    showCalendar ();

    78

    ?>

    79

    80

  • Recomendado: