
peguei um script de calendario por ai, alterei algumas coisas, mas estou com um problema, alias dois problemas:
- Eu queria que mostrasse, assim como mostra o dia de hoje, os dias que tem alguma coisa agendada no banco;
Já tentei de todas as formas, fazendo while (mysql_fetch_array), for mas nao consegui bons resultados. Segue o codigo abaixo.
calendario.php
<?php
$ames = $_GET['mes'];
$aano = $_GET['ano'];
// Seta de mais mes
$omes = $ames + 1;
$nmes = mktime(0,0,0, $omes, 1, $aano);
$pmes = strftime("%m", $nmes);
if($pmes == 1):
$oano = $aano+1;
$nano = mktime(0,0,0, $ames, 1, $oano);
$pano = strftime("%Y", $nano);
else:
$pano = $aano;
endif;
// Seta de menos mes
$elmes = $ames - 1;
$newmes = mktime(0,0,0, $elmes, 1, $aano);
$mmes = strftime("%m", $newmes);
if($mmes == 12):
$elano = $aano - 1;
$newano = mktime(0,0,0, $ames, 1, $elano);
$mano = strftime("%Y", $newano);
else:
$mano = $aano;
endif;
$ano = $aano; //Pega o ano
$cont = 0;
$dia = date("d");//Pega o dia
$dias = array();//Array que irá guardar os dias do mês
$mes = $ames;//Pega o mês
$totalDias = date("t", mktime(0, 0, 0, $ames, $adia, $aano));//Pega a qtd de dias do mês
$primeiroDia = date("D", mktime(0, 0, 0, $ames, 1, $aano));//Vê em que dia da semana caiu o 1º dia do mês
switch($ames):
case 1: $ames2 = "janeiro"; break;
case 2: $ames2 = "fevereiro"; break;
case 3: $ames2 = "março"; break;
case 4: $ames2 = "abril"; break;
case 5: $ames2 = "maio"; break;
case 6: $ames2 = "junho"; break;
case 7: $ames2 = "julho"; break;
case 8: $ames2 = "agosto"; break;
case 9: $ames2 = "setembro"; break;
case 10: $ames2 = "outubro"; break;
case 11: $ames2 = "novembro"; break;
case 12: $ames2 = "dezembro"; break;
endswitch;
switch($mes):
case 1: $mes2 = "janeiro"; break;
case 2: $mes2 = "fevereiro"; break;
case 3: $mes2 = "março"; break;
case 4: $mes2 = "abril"; break;
case 5: $mes2 = "maio"; break;
case 6: $mes2 = "junho"; break;
case 7: $mes2 = "julho"; break;
case 8: $mes2 = "agosto"; break;
case 9: $mes2 = "setembro"; break;
case 10: $mes2 = "outubro"; break;
case 11: $mes2 = "novembro"; break;
case 12: $mes2 = "dezembro"; break;
endswitch;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Account System - Calendario</title>
<script type="text/javascript" src="js/javascript.js"></script>
<link rel="stylesheet" type="text/css" href="css/calendario.css" media="screen"/>
<link rel="icon" href="img/favicon.ico" type="image/x-icon">
</head>
<body>
<div id="seta">
<?php echo "<a href='calendario.php?mes=".$mmes."&ano=".$mano."'><img src='img/calsetesq.jpg' /></a>" ?>
</div>
<div id="seta" class="dir">
<?php echo "<a href='calendario.php?mes=".$pmes."&ano=".$pano."'><img src='img/calsetdir.jpg' /></a>" ?>
</div>
<table class="calendario" cellspacing="0">
<tr>
<td colspan=7 class="topo"><?php echo $ames2." / ".$aano ?></td>
</tr>
<tr>
<td class="dia" style="color: #FF0000;">D</td>
<td class="dia">S</td>
<td class="dia">T</td>
<td class="dia">Q</td>
<td class="dia">Q</td>
<td class="dia">S</td>
<td class="dia">S</td>
</tr>
<?php
include ("session.php"); // Guarda os dados da sessao
include ("../conexao.php"); // Faz a conexao com o banco
$sql = "SELECT * FROM eventos WHERE usuario = '$login' ORDER BY dia AND mes AND ano" or die (mysql_error()); // Selecionando no banco
$qr = mysql_query($sql) or die (mysql_error()); // Query
$ames = $_GET['mes'];
$aano = $_GET['ano'];
$ano = $aano; //Pega o ano
$anoatual = date("Y");
$cont = 0;
$dia = date("d");//Pega o dia
$dias = array();//Array que irá guardar os dias do mês
$mes = $ames;//Pega o mês
$mesatual = date("m"); //Pega o mês atual
$totalDias = date("t", mktime(0, 0, 0, $ames, 1, $aano));//Pega a qtd de dias do mês
$primeiroDia = date("D", mktime(0, 0, 0, $ames, 1, $aano));//Vê em que dia da semana caiu o 1º dia do mês
//Aqui irá adicionar os dias do mês no array
for($d = 0; $d < $totalDias; $d++)$dias[$d] = array_push($dias, $d+1);
switch($primeiroDia):
case 'Mon': $primeiroDia = "segunda-feira"; $pos = 1; break;
case 'Tue': $primeiroDia = "terça-feira"; $pos = 2; break;
case 'Wed': $primeiroDia = "quarta-feira"; $pos = 3; break;
case 'Thu': $primeiroDia = "quinta-feira"; $pos = 4; break;
case 'Fri': $primeiroDia = "sexta-feira"; $pos = 5; break;
case 'Sat': $primeiroDia = "sábado"; $pos = 6; break;
case 'Sun': $primeiroDia = "domingo"; $pos = 0; break;
endswitch;
for($linha = 0; $linha < 6; $linha++):
echo "<tr>";
for($coluna = 0; $coluna < 7; $coluna++):
$pos2 = $cont - $pos;
// Parametro para o javascript:paginaCal(dia, mes, ano)
$url = $dias[$pos2].",".$mes.",".$ano;
if(empty($dias[$pos2])):
echo "<td class='blank'> </td>";
else:
if(($mes == $mesatual) && ($ano == $anoatual)): //Para ver se o mes e o ano da folhinha é o atual
if($dias[$pos2] == $dia):
echo "<td class='diahoje'><a href='javascript:paginaCal(".$url.");'>".$dias[$pos2]."</td></a>";
else:
echo "<td class='normal'><a href='javascript:paginaCal(".$url.");'>".$dias[$pos2]."</td></a>";
endif;
else:
echo "<td class='normal'><a href='javascript:paginaCal(".$url.");'>".$dias[$pos2]."</td></a>";
endif;
endif;
$cont++;
endfor;
echo "</tr>";
endfor;
?>
</table>
</body>
</html>
- A outra coisa, eu queria deixar os domingos em vermelho, nem é muito problema, é mais estetico mesmo.
Desculpe se o código estiver meio bagunçado, mas como disse sou iniciante!
Se alguém puder me dar uma luz eu agradeço!!
Obrigado!










