archivo que muestra el calendario.
calendario.php
Código HTML:
<body> <?php require_once("maxCalendar.class.php"); $myCelandar = new maxCalendar(); $mk2=$month; $mk=$year; $myCelandar->showCalendar($mk,$mk2); ?> </body>
maxCalendar.class.php
Código PHP:
<?php
class maxCalendar{
function showCalendar($year=0,$month=0){
if ($month == "01"){
$monthnow = "Enero";
}
if ($month == "02"){
$monthnow = "Febrero";
}
if ($month == "03"){
$monthnow = "Marzo";
}
if ($month == "04"){
$monthnow = "Abril";
}
if ($month == "05"){
$monthnow = "Mayo";
}
if ($month == "06"){
$monthnow = "Junio";
}
if ($month == "07"){
$monthnow = "Julio";
}
if ($month == "08"){
$monthnow = "Agosto";
}
if ($month == "09"){
$monthnow = "Septiembre";
}
if ($month == "10"){
$monthnow = "Octubre";
}
if ($month == "11"){
$monthnow = "Noviembre";
}
if ($month == "12"){
$monthnow = "Diciembre";
}
// Get today, reference day, first day and last day info
if (($year == 0) || ($month == 0)){
$referenceDay = getdate();
} else {
$referenceDay = getdate(mktime(0,0,0,$month,1,$year));
}
$firstDay = getdate(mktime(0,0,0,$referenceDay['mon'],1,$referenceDay['year']));
$lastDay = getdate(mktime(0,0,0,$referenceDay['mon']+1,0,$referenceDay['year']));
$today = getdate();
// Create a table with the necessary header informations
echo '<table class="month">';
echo ' <tr ><th colspan="7">'.$monthnow." - ".$referenceDay['year']."</th></tr>";
echo ' <tr class="days" class="menu4"><td>Lu</td><td>Ma</td><td>Mi</td><td>Ju</td><td>Vi</td><td>Sa</td><td>Do</td></tr>';
// Display the first calendar row with correct positioning
echo '<tr>';
if ($firstDay['wday'] == 0) $firstDay['wday'] = 7;
for($i=1;$i<$firstDay['wday'];$i++){
echo '<td> </td>';
}
$actday = 0;
for($i=$firstDay['wday'];$i<=7;$i++){
$actday++;
include("conexion.php"); //conexion BD
$resultados=mysql_query("SELECT * FROM agenda where id='$_REQUEST[id]' ORDER BY fecha " , $link);
while ($rowx = mysql_fetch_array($resultados)){
$dia=$rowx["dia_ini"];
$com=$rowx["mes_ini"];
$comq=$rowx["ano_ini"];
$mesano="$com/$comq";
$ok="$month/$year";
//no me respeta el array
if (($actday == $today['mday']) && ($today['mon'] == $month)) {
$class = ' class="actday"';
}
elseif (($actday == $dia) && ($mesano== $ok)) {
$class = ' class="actday1"';
} else {
$class = '';
}
} //del while
echo "<td$class><a href='miagendav?id=".$_SESSION[idusuario]."&dia=$actday&mes=$month&año=$year' class='menu4'>$actday</a></td>";
}
echo '</tr>';
//Get how many complete weeks are in the actual month
$fullWeeks = floor(($lastDay['mday']-$actday)/7);
for ($i=0;$i<$fullWeeks;$i++){
echo '<tr>';
for ($j=0;$j<7;$j++){
$actday++;
if (($actday == $today['mday']) && ($today['mon'] == $month)) {
$class = ' class="actday"';
}
elseif (($actday == 6) && ("08/2008" == $ok)) { //asi tendria que mostrarlo asiendo un bucleo asta que termine de tomar los datos de la BD
$class = ' class="actday1"';
} else {
$class = '';
}
echo "<td$class><a href='miagendav?id=".$_SESSION[idusuario]."&dia=$actday&mes=$month&año=$year' class='menu4'>$actday</a></td>";
}
echo '</tr>';
}
//Now display the rest of the month
if ($actday < $lastDay['mday']){
echo '<tr>';
for ($i=0; $i<7;$i++){
$actday++;
if (($actday == $today['mday']) && ($today['mon'] == $month)) {
$class = ' class="actday"';
} else {
$class = '';
}
if ($actday <= $lastDay['mday']){
echo "<td$class><a href='miagendav?id=".$_SESSION[idusuario]."&dia=$actday&mes=$month&año=$year' class='menu4'>$actday</a></td>";
}
else {
echo '<td> </td>';
}
}
echo '</tr>';
}
echo '</table>';
}
}
?>