Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Desenvolvendo um componente de calendário dinâmico em PHP
Linux user
lsouzabr
09/11/2007
Estou desenvolvendo uma aplicação em PHP que vai utilizar módulos, já tenho muitas coisas desenvolvidas para o sistema. A medida que eu for terminando meus componentes, pretendo escrever passo a passo como foram desenvolvidos cada um deles. Hoje irei falar sobre o primeiro módulo (calendário).
Por: Leonam Souza
[ Hits: 14649 ]
Conceito: 10.0   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Preparando o espaço para trabalhar

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:
  1. Obter as datas;
  2. 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.

Próxima página >>




Páginas do artigo
   1. Preparando o espaço para trabalhar
   2. Inserindo os dados na tabela
   3. Código completo

Outros artigos deste autor
Nenhum artigo encontrado.

Leitura recomendada

Comentários
[1] Comentário enviado por alexnuvix em 09/11/2007 - 09:54h:

Muito Bom o artigo.

Como você deu a permissão gostária de usar em um portal Intranet que tenho aqui na empresa.
Teria como você disponibilizar as imagens ?

Se puder me envia por e -mail, se não puder ok, mas de qualquer forma valeu pelo artigo.

Abraço.

[2] Comentário enviado por engos em 09/11/2007 - 11:56h:

Gostei da iniciativa.

Ainda tenho que parar e analisar com calma o código, mas sua idéia é bem interessante.

Recomendo colocar o script com imagens e tudo mais que for necessário na parte de scripts do VOL antes e depois quando for publicar já colocar o endereço do script.

Espero apenas que você tenha feito conforme as regras do W3C, principalmente no que diz respeito a separação dos arquivos de estilos, script, html etc.

Só o que não consegui visualizar ainda (nessa passagem rápida que fiz) foi a criação do script como uma classe para ser usada com os conceitos de orientação a objetos. Se não o fez, seria interessante migrar e já fazer os próximos assim.

Abraço.

[3] Comentário enviado por lsouzabr em 09/11/2007 - 16:53h:

Bom, com relação as imagens, quando você acessa a versão para impressão elas irão aparecer, com relação ao w3c se não me engano falta uma correção com relação a forma como o bg foi declarado, mas isso é um ajuste muito simples.
Quando você for utilizar na forma de módulo, você precisa eliminar todo o código que não for relativo a tabela do calendário, por tanto, os heads, body, etc, precisam ser eliminados do html, ficando somente o <table> </table>.
Com relação ao conceito de orientação a objetos você realmente têm razão, porém é algo que pra te ser sincero eu preciso estudar mais pra criar algo do tipo.

Qualquer coisa, ou qualquer sugestão estamos ai!!!!
Falows, abração.

[4] Comentário enviado por fagnerfjas em 18/12/2009 - 15:57h:

Era tudo o que eu precisava.
Ajudou e muito o meu trabalho!!!


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.