Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jefferson Androcles

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

Recommended Posts

<!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> </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> </td>';
}
echo '</tr>';
}

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


?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

to pra fica louco com isso esse código esta funcionando mas não consigo por ele separado em um container pra cada calendario para eu eu posso aperta proximo e ele ir para o proximo calendario, maioria que funcionou era pdo oo eu tenho um basico de procidure

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.