este es un script de un calendario
Código PHP:
<?php
include("funciones.php");
$mess = $_GET['mess'];
$anio = $_GET['anio'];
if($mess == "" || $anio == ""){
$anio = date("Y");
$mess = date("n");
}
$ultimo = date("t",mktime(0, 0, 0, $mess, 1, $anio));
if($mess == '12' || $mess == '1'){
if($mess == '12'){
$next = 1;
$prev = $mess -1;
$anion = $anio + 1;
$aniop = $anio;
}
if($mess == '1'){
$next = $mess + 1;
$prev = 12;
$anion = $anio;
$aniop = $anio -1;
}
}else{
$next = $mess + 1;
$prev = $mess - 1;
$aniop = $anio;
$anion = $anio;
}
echo "<tr><th colspan=7>$anio</th></tr><tr>";
echo "<tr><td><a href='".$_SERVER['PHP_SELF']."?mess=$prev&anio=$aniop'><<</a></td><th colspan=5>$mes[$mess]</th><td><a href='".$_SERVER['PHP_SELF']."?mess=$next&anio=$anion'>>></td></tr><tr>";
echo "<tr><td>D</td><td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td></tr>";
$diaa = "1";
$diaz = cargarmatriz($ultimo,$mess,$anio);
$j = 0;
while($diaa <= $ultimo){
$dia = date("D",mktime(0,0,0,$mess,$diaa,$anio)); # retorna el dia de la semana en letras...
$fecha = date("j",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia del mes en 01/31
$dia_semana = date("w",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia de la semana en numero
$evento = $anio."-".$mes_num[$mess]."-".$fecha;
if($dia == "Sun"){
echo "</tr><tr>";
}
if($fecha == "1"){
$i=0;
while($i != $dia_semana){
echo "<td> </td>";
$i++;
}
}
if($anio == date("o") && $mes[$mess] == $mes[date("n")] && $fecha == date("j")){
if($fecha == $diaz[$j] ){
echo "<td class='tddia' align='center'><b><a href='mostrar.php?evento=$evento&evento2=$evento2' target='evento'>$fecha</a></b></td>";
$j++;
}else{
echo "<td class='calendario' align='center'><b>$fecha</b></td>";
}
}else{
if($fecha == $diaz[$j] ){
echo "<td class='tddia' align='center'><b><a href='mostrar.php?evento=$evento' target='evento'>$fecha</a></b></td>";
$j++;
}else{
echo "<td align='center'>$fecha</td>";
}
}
$diaa++;
}
echo "</tr>";
$mess = $_GET['mess'];
$anio = $_GET['anio'];
if($mess == "" || $anio == ""){
$anio = date("Y");
$mess = date("n");
}
$ultimo = date("t",mktime(0, 0, 0, $mess, 1, $anio));
if($mess == '12' || $mess == '1'){
if($mess == '12'){
$next = 1;
$prev = $mess -1;
$anion = $anio + 1;
$aniop = $anio;
}
if($mess == '1'){
$next = $mess + 1;
$prev = 12;
$anion = $anio;
$aniop = $anio -1;
}
}else{
$next = $mess + 1;
$prev = $mess - 1;
$aniop = $anio;
$anion = $anio;
}
echo "<tr><th colspan=7>$anio</th></tr><tr>";
echo "<tr><td><a href='".$_SERVER['PHP_SELF']."?mess=$prev&anio=$aniop'><<</a></td><th colspan=5>$mes[$mess]</th><td><a href='".$_SERVER['PHP_SELF']."?mess=$next&anio=$anion'>>></td></tr><tr>";
echo "<tr><td>D</td><td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td></tr>";
$diaa = "1";
$diaz = cargarmatriz($ultimo,$mess,$anio);
$j = 0;
while($diaa <= $ultimo){
$dia = date("D",mktime(0,0,0,$mess,$diaa,$anio)); # retorna el dia de la semana en letras...
$fecha2 = date("j",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia del mes en 01/31
$dia_semana = date("w",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia de la semana en numero
$evento2 = $anio."-".$mes_num[$mess]."-".$fecha2;
if($dia == "Sun"){
echo "</tr><tr>";
}
if($fecha2 == "1"){
$i=0;
while($i != $dia_semana){
echo "<td> </td>";
$i++;
}
}
if($anio == date("o") && $mes[$mess] == $mes[date("n")] && $fecha2 == date("j")){
if($fecha2 == $diaz[$j] ){
echo "<td class='tddia' align='center'><b><a href='mostrar.php?evento2=$evento2' target='evento'>$fecha2</a></b></td>";
$j++;
}else{
echo "<td class='calendario' align='center'><b>$fecha</b></td>";
}
}else{
if($fecha2 == $diaz[$j] ){
echo "<td class='tddia' align='center'><b><a href='mostrar.php?evento2=$evento2' target='evento'>$fecha2</a></b></td>";
$j++;
}else{
echo "<td align='center'>$fecha</td>";
}
}
$diaa++;
}
echo "</tr>";
?>
</table>
</td><td>
<IFRAME SRC="mostrar.php" WIDTH=450 HEIGHT=120 name="evento">
</IFRAME>
</tr></td>
<tr><td colspan="2"><a href="agregar.php" target="evento">[Agregar evento]</a></td></tr>
</table>
<br><br><br>
funciones.php
<?php
$datos;
$mes[1] = "Enero";
$mes[2] = "Febrero";
$mes[3] = "Marzo";
$mes[4] = "Abril";
$mes[5] = "Mayo";
$mes[6] = "Junio";
$mes[7] = "Julio";
$mes[8] = "Agosto";
$mes[9] = "Septiembre";
$mes[10] = "Octubre";
$mes[11] = "Noviembre";
$mes[12] = "Diciembre";
$mes_num[1] = "01";
$mes_num[2] = "02";
$mes_num[3] = "03";
$mes_num[4] = "04";
$mes_num[5] = "05";
$mes_num[6] = "06";
$mes_num[7] = "07";
$mes_num[8] = "08";
$mes_num[9] = "09";
$mes_num[10] = "10";
$mes_num[11] = "11";
$mes_num[12] = "12";
$dias[0] = "0";
function conectar(){
$host = "localhost";
$usuariodb = "root";
$pwddb = "";
$db = "c2";
$enlace = mysql_connect($host,$usuariodb,$pwddb);// or die("No pudo conectarse : " . mysql_error());
if (!$enlace) {
die('No conectado : ' . mysql_error());
}
$seldb = mysql_select_db($db,$enlace);
if (!$seldb) {
die ('No se puede usar eventos: ' . mysql_error());
}
return $enlace;
}
function desconectar($conexion){
mysql_close($conexion);
}
function query($sql){
$res = mysql_query($sql) or die (mysql_error());
return $res;
}
function cargarmatriz($ultimo,$mess,$anio){
$i = 0;
$conexion = conectar();
$desde = $anio."-".$mess."-01";
$hasta = $anio."-".$mess."-".$ultimo;
$sql = "select distinct fecha from eventos where fecha BETWEEN '$desde' and '$hasta' order by fecha";
$res = query($sql);
if(mysql_num_rows($res) > 0){
while($fila = mysql_fetch_array($res)){
$fecha = $fila['fecha'];
$dia = explode("-", $fecha);
//if($dias[$i-1] != $dia[2]){
$dias[$i] = $dia[2];
//}
$i++;
}
}else{
$dias[0] = "0";
}
desconectar($conexion);
return $dias;
}
function redireccionar($time,$url){
print "<meta http-equiv=Refresh content=\"$time ; url=$url\">";
}
?>