Geralmente eu costumo a utilizar o fireworks para desenhar os componentes e depois trabalhar o código em cima, desta forma eu evito perder tempo com html e ganhar tempo na programação em php.
Bom, neste caso eu desenhei a tabela do calendário (calendario2.jpg), reservei campos para o nome do mês, os dias da semana e claro, os dias do mês. Após ter desenhado o calendário, é hora de fatiar a imagem para que a mesma seja exportada em html, com suas respectivas celulas já fatiadas (calendario.jpg).
Eu costumo a utilizar o dreamweaver somente como um ajuste final, mas esta etapa eu vou explicar depois.
Bom, já que agora já criamos o nosso espaço de trabalho, é hora de trabalhar de verdade e colocar a mão na massa, vamos analisar o código php.
Obtendo informações do sistema
Bom, o código é muito simples. Ele na verdade é dividido em duas partes:
- Obter as datas;
- Preencher a tabela com os valores.
OK, este primeiro trecho do código é a parte responsável por pegar do servidor a hora correta. Quando o código pegar a hora exata do servidor, ele vai distribuir nas variáveis $mes e $ano.
Utilizei a função switch para poder colocar o nome do mês em português, no título da tabela (a parte em azul da tabela, imagem: calendario2.jpg).
Para podermos trabalhar com vetores e manipular tais informações utilizei a função mktime.
Usando o mktime eu vou poder saber em que dia da semana começa o mês, lógico também saberei a quantidade de dias que determinado mês possui.
Pronto, acredito que agora temos todas as informações úteis para que possamos começar a preencher nosso vetor usando um laço de repetição:
for($x=$inicio_mes;$x<=$fim_mes+($inicio_mes-1);$x++)
{
$vet[$x]=$vet[$x-1]+1;
}
Assim terei todos os dias do mês armazenados no vetor, começando pelo dia 1° e armazenando tal informação na célula correspondente ao primeiro dia da semana do determinando mês.