Ir para conteúdo
Fórum Script Brasil
  • 0

Calendario em php, marca dia atual e definir por mes em mes.


Jefferson Androcles

Pergunta


<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Documento sem título</title> 
<style type="text/css"> 
.mes { 
border: 1px solid #CCCCCC; 
float: left; 
display: block; 
margin-right: 20px; 
margin-bottom: 20px; 


.mes td, .mes th { 
font-size: 12px; 
color: #000000; 
font-family: Arial; 
width: 25px; 
text-align: center; 


.dom { 
background-color: #CCCCCC; 


.sab { 
background-color: #EFEFEF; 

.diacerto{ 
background-color:#000000; 

a{ 


</style> 
</head> 

<body> 
<?php 
date_default_timezone_set('America/Sao_Paulo'); 

// nomes dos meses 
$meses = explode(',', 'janeiro,fevereiro,marco,abril,maio,junho,julho,agosto,setembro,outubro,novembro,dezembro'); 
// nomes dos dias da semana 
$diasSemana = explode(',', 'dom,seg,ter,qua,qui,conteudo inapropriado,sab'); 
// ano desejado 
$ano = 2015; 
// mes inicial do ano 
$inicial = 01; 
// quantidade de meses a ser exibido 
$qtd = 50; 

// para a quantidade de meses desejados 
for($i=0; $i<$qtd; $i++){ 
// numero de dias do mes 
$maxDias = date('d', mktime(0,0,0,$inicial+$i+1, 0, $ano)); 
// dia da semana inicial 
$diaSemana = date('w', mktime(0,0,0,$inicial+$i, 1, $ano)); 
// numero do mes 
$mes = date('m', mktime(0,0,0,$inicial+$i, 1, $ano)); 
// ano atual conforme calculo 
$anoAtual = date('Y', mktime(0,0,0,$inicial+$i, 1, $ano)); 
// nome do mes atual 
$nome = $meses[$mes-1]; 

// inicia a tabela com o nome do mes 
echo '<table class="mes">'; 
echo '<thead>'; 
echo '<tr><th colspan="7">',$nome,' ', $anoAtual, '</th></tr>'; 

// cabecalho com os nomes dos dias da semana 

echo '<tr>'; 
for($j=0; $j<7; $j++){ 
echo '<th bgcolor="#fff">', $diasSemana[$j],'</th>'; 

echo '</tr>'; 
echo '</thead>'; 


// se o dia da semana for maior que domingo 
// criamos as celulas iniciais para poder iniciar no dia correto 
if($diaSemana > 0){ 
echo '<tr>'; 
for($j=0; $j<$diaSemana; $j++){ 
echo '<td>&nbsp;</td>'; 



// para cada dia encontrado no mes 
for($j=1; $j<=$maxDias; $j++){ 
// pega o dia semana 
$diaSemana = date('w', mktime(0,0,0,$inicial+$i, $j, $ano)); 

// classe CSS conforme o dia da semana 
switch($diaSemana){ 
case 0: 
$class = 'dom'; 
break; 
case 6: 
$class = 'sab'; 
break; 


default: 
$class = 'normal'; 
break; 


// se for domingo, abre uma nova linha 
if($diaSemana == 0){ 
echo '<tr>'; 


// escreve a celula do dia 
echo '<td class="',$class,'"><a href="teste4.php?dia='.$j.'&mes='.$mes.'">', $j, '</a></td>'; 
// se for sabado, fecha a linha 
if($diaSemana == 6){ 
echo '</tr>'; 



// se sobraram dias para fechar a linha 
if($diaSemana < 6){ 
for($j=$diaSemana; $j<6; $j++){ 
echo '<td>&nbsp;</td>'; 

echo '</tr>'; 


// fecha a tabela 
echo '</table>'; 



?> 
</body> 
</html>

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...