Hola, buenas!
Les cuento, soy algo nuevo en esto de php y he estado unos días ya en un calendario que necesito que me muestre las horas tomadas de los clientes según su fecha. Entonces el calendario me debe dejar seleccionar solo fechas que estan tomadas para ver por hora de inicio y termino con el nombre de cada cliente.
Esto es lo que intente:
Código PHP:
<?php
$month=date("n");
$year=date("Y");
$diaActual=date("j");
// obtengo el dia de la semana del primer dia
//devuelve 0 para domingo y 6 para sabado
$diaSemana=date("w",mktime(0,0,0,$month,1,$year))+7;
//saco el último día del mes
$ultimoDiaMes=date("d",(mktime(0,0,0,$month+1,1,$year)-1));
include('files/funciones.php');
?>
<table id="calendar" align="center">
<caption><?php echo $meses[$month]." ".$year?></caption>
<tr>
<th><h3>Lunes</h3></th><th><h3>Martes</h3></th><th><h3>Miercoles</h3></th><th><h3>Jueves</h3></th>
<th><h3>Viernes</h3></th><th><h3>Sabado</h3></th><th><h3>Domingo</h3></th>
</tr>
<tr bgcolor="silver">
<?php
$last_cell=$diaSemana+$ultimoDiaMes;
//6 columnas de 7 dias = 42 recuadros
for($i=1;$i<=42;$i++)
{
if($i==$diaSemana)
{
//el que dia que comienza
$day=1;
}
if($i<$diaSemana || $i>=$last_cell)
{
//celca vacia
echo "<td> </td>";
}else{
/// mostramos el dia
if($day==$diaActual)
echo "<td class='hoy'><a href='agenda_dia.php'>$day</a></td>";
else
include('files/conexion2.php');
$sql = mysql_query("SELECT * FROM toma_hora WHERE DATE_FORMAT(fecha,'%d-%m-%Y')='"."0".$day."-"."0".$month."-".$year."'");
$dato = mysql_fetch_array($sql);
echo "<td><a href='ver_fecha.php?ver={$dato['id_agendamiento']}'>$day</a></td>";
$day++;
}
// cuando llega al final de la semana, inicia una columna nueva
if($i%7==0)
{
echo "</tr><tr>\n";
}
}
?>
</tr>
</table>
Pero con esto tengo 2 problemas:
1- me muestra todo el array y mas encima el dia actual (se repite el dia actual, pero solo con el codigo).
2- !No me lista NADA!
si alguien me da alguna idea o ayuda de como solucionar esto, seria genial!
Gracias.