Como criar um calendário no php

Este artigo irá ensinar a você como fazer um calendário no PHP. Aqui, liste alguns scripts gratuitos de calendário PHP. Ou você pode diretamente no site phpkode.com para mais tutoriais grátis PHP.

Passos

  1. Criar um calendário no PHP Step 1
1. Recolha as informações necessárias que é importante para exibir o mês real e realçar o dia real. Além disso, você quer exibir o mês real e o ano também. Para isso, você precisará de 3 entradas especiais: o dia real, no primeiro dia do mês real, no último dia do mês real
  • Criar um calendário no PHP Step 2
    2. Determinar que dia foi o primeiro dia, quanto tempo dura o mês e, claro, que é o dia real, com as informações acima.
  • 3. Use a função PHP integrada: getDate (). Sem parâmetros, esta função retorna as informações reais do dia em uma matriz da seguinte maneira:
    01Variedade
    02(
    03 [segundos] => 40
    04 [minutos] => 58
    05 [horas] => 21
    06 [MDY] => 17
    07 [WDY] => 2
    08 [Mon] => 6
    09 [ano] => 2003
    10 [yday] => 167
    11 [semana] => terça
    12 [Mês] => Junho
    13 [0] => 1055901520
    14)
    Para obter o último dia do mês com a data da obtenção, precisamos tentar obter o 0. dia do próximo mês. Então o código para obter as informações se parece com isso:
    1
    2 $ hoje= getDate()-
    3 $ FirstDay= getDate(mktime(0,0,0,$ hoje[`seg`], 1,$ hoje[`ano`])))-
    4 $ lessday= 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 no primeiro dia do mês. No entanto, precisamos de uma linha de cabeçalho com informações de mês e ano, uma linha subtítulos com o nome dos dias.
    1
    2 // crie uma tabela com as informações de cabeçalho necessárias
    3 eco``-"-
    4 eco`
    `.$ hoje[`mês`]." - ".$ hoje[`ano`]."
    `-
    5 eco`
    `-
    6 eco`MoTuNósº
    `-
    7 eco`PeSaSu
    8?>
    Criar um calendário no PHP Step 3
  • Agora que você tem o cabeçalho da mesa, preencha a primeira linha. Não é tão fácil como você não pode apenas escrever 1 na primeira célula, 2 no segundo e assim por diante. Só funciona se o primeiro dia do mês foi segunda-feira, mas e se não? Para decidir isso, precisamos do item do dia da matriz do FirtDay. Com esta informação, podemos preencher as células com um espaço, se necessário. O código para fazer isso é o seguinte:
    01
    `-
    02 eco`
    03 para($ I= 1-$ I<$ FirstDay[`WDY`]-$ I++) {
    `-
    04 eco`
    05 }
    06 $ atday= 0-
    07 para($ I=$ FirstDay[`WDY`]-$ I<= 7-$ I++) {
    08 $ atday++-
    "-
    09 eco"$ atday
    10 }
    `-
    11 eco`
    12?>
    Criar um calendário no PHP Step 4


  • Como próximo passo, precisamos preencher as linhas seguintes. É um pouco mais fácil, só precisamos saber quantas semana inteira temos e preenchemos algumas linhas de mesa da seguinte maneira:
    01
    02 $ Fullweeks= andar(($ lessday[`MDY`]-$ atday) / 7)-
    03  
    04 para($ I= 0-$ I<$ Fullweeks-$ I++) {
    `-
    05 eco`
    06 para($ J= 0-$ J<7-$ J++) {
    07 $ atday++-
    "-
    08 eco"$ atday
    09 }
    `-
    10 eco`
    11 }
    12
    13?>
    Criar um calendário no PHP Step 5
  • Como passo semi final, precisamos adicionar o resto do mês à última linha. Neste caso, é muito fácil:
    01
    02 E se($ atday< $ lessday[`MDY`]) {
    `-
    03 eco`
    04 para($ I= 0- $ I<7-$ I++) {
    05 $ atday++-
    06 E se($ atday<= $ lessday[`MDY`]) {
    "-
    07 eco"$ atday
    08 }
    09 senão{
    `-
    10 eco`
    11 }
    12 }
    `-
    13 eco`
    14 }
    15?>
    Passo 7.Para tornar o calendário pouco melhor, vamos apresentar alguns design css. O arquivo CSS é muito simples:
    01tabela {
    02 largura:210px-
    03 fronteira:0pxsólido# 888-
    04 colapso de fronteira:colapso-
    05}
    06td {
    07 largura:30px-
    08 Border-CollPase: CollPase-
    09 fronteira:1pxsólido# 888-
    10 alinhamento de texto:direito-
    11 preenchimento-direito:5px-
    12}
    13.dias{
    14 cor de fundo: # F1f3f5-
    15}
    16º {
    17 Border-CollPase: CollPase-
    18 fronteira:1pxsólido# 888-
    19 cor de fundo: # E9ecef-
    20}
    21.atday {
    22 cor de fundo: # C22-
    23 espessura da fonte:negrito-
    24}
    Criar um calendário no PHP Step 6
  • O código completo usando o CSS é o seguinte:
    01"-// w3c // dtd xhtml 1.0 transitório // pt""DTD / XHTML1-Transitional.DTD">
    02
    03
    04 Miserável"Estilo / Estilo.css"rel ="Stylesheet"tipo ="Texto / CSS"/>
    05
    06
    07
    08funçãoshowcalendar () {
    09 // Obtenha informações do dia chave.
    10 // Precisamos do primeiro e último dia do mês e o dia real
    11 $ hoje= getDate()-
    12 $ FirstDay= getDate(mktime(0,0,0,$ hoje[`seg`], 1,$ hoje[`ano`])))-
    13 $ lessday= 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``-
    17 eco`
    `.$ hoje[`mês`]." - ".$ hoje[`ano`]."
    `-
    18 eco`
    `-
    19 eco`MoTuNósº
    `-
    20 eco`PeSaSu
    21
    22 // Exibe a primeira linha de calendário com o posicionamento correto
    `-
    23 eco`
    24 para($ I= 1-$ I<$ FirstDay[`WDY`]-$ I++) {
    `-
    25 eco`
    26 }
    27 $ atday= 0-
    28 para($ I=$ FirstDay[`WDY`]-$ I<= 7-$ I++) {
    29 $ atday++-
    30 E se($ atday== $ hoje[`MDY`]) {
    31 $ classe= `Class ="atday"`-
    32 } senão{
    33 $ classe= -
    34 }
    "-
    35 eco"$ atday
    36 }
    `-
    37 eco`
    38  
    39 // recebe quantas semanas completas estão no mês real
    40 $ Fullweeks= andar(($ lessday[`MDY`]-$ atday) / 7)-
    41 para($ I= 0-$ I<$ Fullweeks-$ I++) {
    `-
    42 eco`
    43 para($ J= 0-$ J<7-$ J++) {
    44 $ atday++-
    45 E se($ atday== $ hoje[`MDY`]) {
    46 $ classe= `Class ="atday"`-
    47 } senão{
    48 $ classe= -
    49 }
    "-
    50 eco"$ atday
    51 }
    `-
    52 eco`
    53 }
    54  
    55 // agora exibe o resto do mês
    56 E se($ atday< $ lessday[`MDY`]) {
    `-
    57 eco`
    58 para($ I= 0- $ I<7-$ I++) {
    59 $ atday++-
    60 E se($ atday== $ hoje[`MDY`]) {
    61 $ classe= `Class ="atday"`-
    62 } senão{
    63 $ classe= -
    64 }
    65  
    66 E se($ atday<= $ lessday[`MDY`]) {
    "-
    67 eco"$ atday
    68 }
    69 senão{
    `-
    70 eco`
    71 }
    72 }
    `-
    73 eco`
    74 }
    75 eco``-
    76}
    77showcalendar ()-
    78?>
    79
    80
  • Compartilhe na rede social:
    Semelhante