Foros del Web » Programando para Internet » PHP »

Calendario

Estas en el tema de Calendario en el foro de PHP en Foros del Web. Ya estoy de nuevo aqui dando la lata,je,je!! Haber,he cogido el codigo de una calendario en el web que está formado por tres archivos,pero no ...
  #1 (permalink)  
Antiguo 23/03/2006, 09:48
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 12 años, 8 meses
Puntos: 0
Calendario

Ya estoy de nuevo aqui dando la lata,je,je!!

Haber,he cogido el codigo de una calendario en el web que está formado por tres archivos,pero no llega a funcionar bien y no tengo ni idea porqué puede ser.Haber si alguien detecta el fallo.Los archivos son:

index.php
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title></title>
    <link rel="STYLESHEET" type="text/css" href="estilo.css">
</head>

<body>
<div align="center">
<?
include('calendario.php');

if (!
$HTTP_POST_VARS && !$HTTP_GET_VARS){
    
$tiempo_actual time();
    
$mes date("n"$tiempo_actual);
    
$ano date("Y"$tiempo_actual);
    
$dia=date("d");
    
$fecha=$ano "-" $mes "-" $dia;
}else {
    
$mes $nuevo_mes;
    
$ano $nuevo_ano;
    
$dia $dia;
    
$fecha=$ano "-" $mes "-" $dia;
}

echo 
"Fecha Seleccionada <input type=text name=fecha value=$fecha>";
mostrar_calendario($dia,$mes,$ano);

?>
</div>
</body>
</html>
Calendario.php

Código PHP:
<?
function calcula_numero_dia_semana($dia,$mes,$ano){
    
$numerodiasemana date('w'mktime(0,0,0,$mes,$dia,$ano));
    if (
$numerodiasemana == 0)
        
$numerodiasemana 6;
    else
        
$numerodiasemana--;
    return 
$numerodiasemana;
}

//funcion que devuelve el último día de un mes y año dados
function ultimoDia($mes,$ano){
    
$ultimo_dia=28;
    while (
checkdate($mes,$ultimo_dia 1,$ano)){
       
$ultimo_dia++;
    }
    return 
$ultimo_dia;
}

function 
dame_nombre_mes($mes){
     switch (
$mes){
         case 
1:
            
$nombre_mes="Enero";
            break;
         case 
2:
            
$nombre_mes="Febrero";
            break;
         case 
3:
            
$nombre_mes="Marzo";
            break;
         case 
4:
            
$nombre_mes="Abril";
            break;
         case 
5:
            
$nombre_mes="Mayo";
            break;
         case 
6:
            
$nombre_mes="Junio";
            break;
         case 
7:
            
$nombre_mes="Julio";
            break;
         case 
8:
            
$nombre_mes="Agosto";
            break;
         case 
9:
            
$nombre_mes="Septiembre";
            break;
         case 
10:
            
$nombre_mes="Octubre";
            break;
         case 
11:
            
$nombre_mes="Noviembre";
            break;
         case 
12:
            
$nombre_mes="Diciembre";
            break;
    }
    return 
$nombre_mes;
}

function 
mostrar_calendario($dia,$mes,$ano){
$mes_hoy=date("m");
$ano_hoy=date("Y");
if ((
$mes_hoy <> $mes) || ($ano_hoy <> $ano))
{
    
$hoy=0;
}
else
{
    
$hoy=date("d");
}
    
//tomo el nombre del mes que hay que imprimir
    
$nombre_mes dame_nombre_mes($mes);

    
//construyo la cabecera de la tabla
    
echo "<table width=200 cellspacing=3 cellpadding=2 border=0><tr><td colspan=7 align=center class=tit>";
    echo 
"<table width=100% cellspacing=2 cellpadding=2 border=0><tr><td style=font-size:10pt;font-weight:bold;color:white>";
    
//calculo el mes y ano del mes anterior
    
$mes_anterior $mes 1;
    
$ano_anterior $ano;
    if (
$mes_anterior==0){
        
$ano_anterior--;
        
$mes_anterior=12;
    }
    echo 
"<a style=color:white;text-decoration:none href=index.php?dia=1&nuevo_mes=$mes_anterior&nuevo_ano=$ano_anterior>&lt;&lt;</a></td>";
       echo 
"<td align=center class=tit>$nombre_mes $ano</td>";
       echo 
"<td align=right style=font-size:10pt;font-weight:bold;color:white>";
    
//calculo el mes y ano del mes siguiente
    
$mes_siguiente $mes 1;
    
$ano_siguiente $ano;
    if (
$mes_siguiente==13){
        
$ano_siguiente++;
        
$mes_siguiente=1;
    }
    echo 
"<a style=color:white;text-decoration:none href=index.php?dia=1&nuevo_mes=$mes_siguiente&nuevo_ano=$ano_siguiente>&gt;&gt;</a></td></tr></table></td></tr>";
    echo 
'    <tr>
                <td width=14% align=center class=altn>Lu</td>
                <td width=14% align=center class=altn>Ma</td>
                <td width=14% align=center class=altn>Mi</td>
                <td width=14% align=center class=altn>Ju</td>
                <td width=14% align=center class=altn>Vi</td>
                <td width=14% align=center class=altn>Sa</td>
                <td width=14% align=center class=altn>Do</td>
            </tr>'
;

    
//Variable para llevar la cuenta del dia actual
    
$dia_actual 1;

    
//calculo el numero del dia de la semana del primer dia
    
$numero_dia calcula_numero_dia_semana(1,$mes,$ano);
    
//echo "Numero del dia de demana del primer: $numero_dia <br>";

    //calculo el último dia del mes
    
$ultimo_dia ultimoDia($mes,$ano);

//escribo la primera fila de la semana
    
echo "<tr>";
    for (
$i=0;$i<7;$i++){
        if (
$i $numero_dia){
            
//si el dia de la semana i es menor que el numero del primer dia de la semana no pongo nada en la celda
            
echo "<td></td>";
        } else {
        if ((
$i == 5) || ($i == 6))
        {
                if (
$dia_actual == $hoy)
                {
                    echo 
"<td class=da><a href='index.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano'>$dia_actual</a></td>";
                }
                else
                {
                    echo 
"<td class=fs><a href='index.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano'>$dia_actual</a></td>";
                }
        }
        else
        {
                if (
$dia_actual == $hoy)
                {
                    echo 
"<td class=da><a href='index.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano'>$dia_actual</a></td>";
                }
                else
                {
                    echo 
"<td align=center><a href='index.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano'>$dia_actual</a></td>";
                }
        }
            
$dia_actual++;
        }
    }
    echo 
"</tr>";

    
//recorro todos los demás días hasta el final del mes
    
$numero_dia 0;
    while (
$dia_actual <= $ultimo_dia){
        
//si estamos a principio de la semana escribo el <TR>
        
if ($numero_dia == 0)
            echo 
"<tr>";
        
//si es el uñtimo de la semana, me pongo al principio de la semana y escribo el </tr>

            
if (($numero_dia == 5) || ($numero_dia == 6))
            {
                if (
$dia_actual == $hoy)
                {
                    echo 
"<td class=da><a href='index.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano'>$dia_actual</a></td>";
                }
                else
                {
                    echo 
"<td class=fs ><a href='index.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano'>$dia_actual</a></td>";
                }
            }
            else
            {
                if (
$dia_actual == $hoy)
                {
                    echo 
"<td class=da><a href='index.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano'>$dia_actual</a></td>";
                }
                else
                {
                    echo 
"<td align=center><a href='index.php?dia=$dia_actual&nuevo_mes=$mes&nuevo_ano=$ano'>$dia_actual</a></td>";
                }
            }

            
$dia_actual++;
            
$numero_dia++;
            if (
$numero_dia == 7)
            {
                
$numero_dia 0;
                echo 
"</tr>";
            }

    }

    
//compruebo que celdas me faltan por escribir vacias de la última semana del mes
    
for ($i=$numero_dia;$i<7;$i++){
        echo 
"<td></td>";
    }

    echo 
"</tr>";
    echo 
"</table>";
}
estilo.css del que no voy a poner el codigo porque tampoco creo que sea necesario.

Gracias y saludos
  #2 (permalink)  
Antiguo 23/03/2006, 13:30
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
mira .. aca tenes uno que hize yo y que dentro de todo funciona bastante bien ..
www.mrad.com.ar/pp/calendario.php
en las FAQ'S vas a encontrar la explicacion del script... saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #3 (permalink)  
Antiguo 23/03/2006, 13:44
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
Cita:
Iniciado por turco_7
mira .. aca tenes uno que hize yo y que dentro de todo funciona bastante bien ..
www.mrad.com.ar/pp/calendario.php
en las FAQ'S vas a encontrar la explicacion del script... saludos
Esta muy bien turco,

Molaria implementarle que mostrase eventos para cada fecha, almacenado todo en mysql junto con un sistema de envio de eventos.

gracias por la info.

ciao
  #4 (permalink)  
Antiguo 23/03/2006, 14:03
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 12 años, 8 meses
Puntos: 0
Muchas gracias turco,pero me temo que me falta el archivo "funciones.php".Me lo puedes postear,por favor??

Gracias
  #5 (permalink)  
Antiguo 24/03/2006, 19:09
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
aca va !!!
Código PHP:
 <?php 
$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"
?>
sobre el tema de los eventos se me habia ocurrido ... pero ando medio corto de tiempo, ya se como hacerlo .. simplemente me tengo que sentar a programar... saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #6 (permalink)  
Antiguo 09/05/2006, 15:42
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 12 años, 7 meses
Puntos: 0
este calendario esta muy bueno , pero como haga para agregarle un link a cada dia y al darle link me despliegue una pagina con los eventos de ese dia que saco de una base de datos.
__________________
:aplauso: Ivomat
  #7 (permalink)  
Antiguo 09/05/2006, 16:15
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 12 años
Puntos: 281
Yo le dije a Turco que iba a tratar de hacerlo de eventos cuando lo vi en el FAQ, pero se me ha complicado un poco. De cualquier forma, espero que el mismo nos pueda ayudar con eso ya que yo no pude.

saludos.
  #8 (permalink)  
Antiguo 09/05/2006, 23:47
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
holas a todos ... estuve un poco perdido, y cuando vuelvo me encuentro con este tema revivido ... :D

Les pido un par de horas ...que me hago un tiempo para hacerlo y les muestro, ya que a mi tambien me esta haciendo falta ... saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #9 (permalink)  
Antiguo 10/05/2006, 09:27
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 12 años
Puntos: 281
se agradece de nuevo hermano.

Saludos.
  #10 (permalink)  
Antiguo 10/05/2006, 11:43
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 12 años, 7 meses
Puntos: 0
muchas gracias . seria de gran ayuda.
__________________
:aplauso: Ivomat
  #11 (permalink)  
Antiguo 13/05/2006, 01:55
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
Listo gente .. aca les dejo el link donde lo pueden ver y descargar el codigo fuente ...

http://www.turco7.com.ar/calendario

Otro dia lo documento para que lo puedan comprender aquellos que lo deseen ...
saludos y espero que les sirva ...

EDIT: Y si le pongo calendator ? :D
EDIT2: Tenia unos errores que ya fueron solucionados...
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!

Última edición por turco_7; 13/05/2006 a las 23:34
  #12 (permalink)  
Antiguo 13/05/2006, 11:38
Avatar de Dr.Guindows  
Fecha de Ingreso: enero-2004
Mensajes: 77
Antigüedad: 13 años, 10 meses
Puntos: 0
Estimados colegas aqui les mando un calendario que subi ayer cuando vi el artículo, este es en Jscript y creo que debe de haber forma de poder sobresaltar un dia que haya un evento para luego accesar, claro todo esta montado en un textbox pero es cuestion de imaginacion ponerlo a rodar como quieran, yo no he tenido tiempo... pero si logran hacer resaltar algunas fechas importantes de manera dinamica, les ruego que me lo reenvien para subirlo.... Nota: este calendario no es mio, solo lo coloco en mi pagina para su distribución.

Frank.

Calendario
__________________
La vida es un sin fin de inhalaciones y expiraciones o son los momentos que nos dejan si ellas ;) !!! :arriba:
  #13 (permalink)  
Antiguo 20/05/2006, 10:02
 
Fecha de Ingreso: abril-2006
Mensajes: 83
Antigüedad: 11 años, 7 meses
Puntos: 0
calendario

hola disculpa la insistencia es que necesito un calendario como el que desarrollaste y no lo puedo descargar dice que el archivo esta dañado mi correo es [email protected] porfa mandame el codigo sip
  #14 (permalink)  
Antiguo 20/05/2006, 17:38
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 567
Antigüedad: 13 años, 2 meses
Puntos: 0
Calendario

Cordial Saludo.

yo tambien estoy necesitando un codigo parecido para mostrar ese calendario que por cierto se ve chevere, si pudieras mandar en .zip te lo agradeceria mi email es [email protected] pero mejor postealo aqui para que todos se beneficien.

bye.
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
  #15 (permalink)  
Antiguo 20/05/2006, 18:34
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
si, pero esta para descargar .. o tambien te da error ???

saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #16 (permalink)  
Antiguo 20/05/2006, 23:31
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 567
Antigüedad: 13 años, 2 meses
Puntos: 0
Sonrisa Error en descarga

una vez descargado el archivo en mi pc, yo intento abrirlo y sale error dice que esta dañado.
postealo de nuevo, por fa.
bye.
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
  #17 (permalink)  
Antiguo 21/05/2006, 15:43
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 12 años
Puntos: 281
a mi m abre perfectamente. necesitas usar winrar para descomprimer el archivo.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #18 (permalink)  
Antiguo 26/05/2006, 17:55
 
Fecha de Ingreso: mayo-2006
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 0
porfi tampoco puedo descargar el codigo... es una pena....mi correo es [email protected], tambien gustaria saber si puedo utilizar este codigo para crear un calendario anual..
gracias..
  #19 (permalink)  
Antiguo 26/05/2006, 18:48
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
aca te dejo el link donde he iniciado un tema con el vínculo nuevo al calendario

http://www.forosdelweb.com/f18/calendario-con-eventos-listo-395916/

saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #20 (permalink)  
Antiguo 27/05/2006, 17:35
 
Fecha de Ingreso: mayo-2006
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 0
Muchisimas Gracias!!!!!!
  #21 (permalink)  
Antiguo 06/06/2006, 16:44
 
Fecha de Ingreso: mayo-2006
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 0
calendario eventos

Hola he visto el calendario que nos facilitado muy mablemente Turco, y la verdad es que me ha ayudado muchisimo, pero me gustaria saber como presentar un calendari anual basandome en este mismo codigo..
muchas gracias, sobretodo a Turco !!!eres lo maximo!!.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:39.