Foros del Web » Programando para Internet » PHP »

Calendario

Estas en el tema de Calendario en el foro de PHP en Foros del Web. Alguien sabe donde puedo encontrar script ke generen un calendario en el cual se ingrese, edite, midifique o elimine información, todo esto por fechas SSaludos ...
  #1 (permalink)  
Antiguo 09/02/2006, 13:48
Avatar de calavera  
Fecha de Ingreso: diciembre-2005
Mensajes: 113
Antigüedad: 12 años
Puntos: 0
Calendario

Alguien sabe donde puedo encontrar script ke generen un calendario en el cual se ingrese, edite, midifique o elimine información, todo esto por fechas



SSaludos y gracias





  #2 (permalink)  
Antiguo 09/02/2006, 14:06
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
busca en hotscripts.com ahi hay bastante
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #3 (permalink)  
Antiguo 09/02/2006, 14:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisa este mensaje:

http://www.forosdelweb.com/f18/calendario-tipo-blog-php-369899/

Lo más importante cuando uno pide algo es definir para que lo quieres .. por qué por "calendario" se me ocurre desde un simple "data picker" (un selector de fecha .. ) cosa que se suele hacer en javascript -sólo- .. hasta algo más complejo como las soluciones que vera en el mensaje que dejé el link.

Un saludo,
  #4 (permalink)  
Antiguo 10/02/2006, 06:57
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
mmmm mira .. hace unos dias atras hize uno ... si te sirve ..

www.mrad.com.ar/pp/calendario.php

saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #5 (permalink)  
Antiguo 25/02/2006, 11:37
Avatar de CNL
CNL
 
Fecha de Ingreso: abril-2002
Ubicación: Barcelona
Mensajes: 896
Antigüedad: 15 años, 8 meses
Puntos: 1
¿Y de dónde coge el día de la semana que corresponde a un día determinado?
  #6 (permalink)  
Antiguo 25/02/2006, 13:49
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
perdon .. no entiendo tu consulta ...
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #7 (permalink)  
Antiguo 25/02/2006, 14:35
Avatar de CNL
CNL
 
Fecha de Ingreso: abril-2002
Ubicación: Barcelona
Mensajes: 896
Antigüedad: 15 años, 8 meses
Puntos: 1
Quiero decir... ¿de dónde obtiene los datos del calendario? Para saber si el día 8 de Mayo de 1992 fue Lunes (por ejemplo)

Lo digo porque he cambiado al azar el mes y el año y me parece que no es correcto.
  #8 (permalink)  
Antiguo 25/02/2006, 15:57
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 trato de explicarte ... la mayoría del script funciona en base a la funcione mktime()

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(000$mess1$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>$anioo</th></tr><tr>";
    echo 
"<tr><td><a href='calendario.php?mess=$prev&anio=$aniop'><<</a></td><th colspan=5>$mes[$mess] $mess</th><td><a href='calendario.php?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";
    while(
$diaa <= $ultimo){
        
$dia date("D",mktime(0,0,0,$mess,$diaa,$anio)); # retorna el dia de la semana en letras...
        
$fecha date("d",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

        
if($dia == "Sun"){
            echo 
"</tr><tr>";
        }
        if(
$fecha == "01"){
            
$i=0;
            while(
$i != $dia_semana){
                echo 
"<td>&nbsp;</td>";
                
$i++;
            }
        }
        echo 
"<td>$fecha</td>";
        
$diaa++;
    }
    echo 
"</tr>";
?>
</table>
Primero verifico las variables $mess y $anio para saber que mes te tengo que mostrar por ejemplo si venis de febrero la variable mess tiene que tener el valor 1 porque al momento de imprimir el link de "Mes anterior" le puse 1 a la variable mess, y lo mismo con el año...en el caso de que quieras ver marzo las variables $mess vale 3 y asi ..
Código PHP:
<?
$mess 
$_GET['mess'];
$anio $_GET['anio'];
if(
$mess == "" || $anio == ""){
    
$anio date("Y");
    
$mess date("n");
}
?>
Luego verifico la cantidad de días que tiene el mes a mostrar por ejemplo enero tiene 31 días, por lo tanto la variable $ultimo es igual a 31.
Código PHP:
<?
$ultimo 
date("t",mktime(000$mess1$anio));
?>
Creo una réplica de la variable año, para despues hacer un control ... y en algunos casos cambiar el año
Código PHP:
<?
$ultimo 
date("t",mktime(000$mess1$anio));
    
$anioo $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;
    } 
?>
En este caso uso dos variables ... $aniop que hace referncia al año previo y $anion al proximo (next) esto me sirve para mostrar las flechitas << >> que serviria para moverse por los meses... dependiendo de cual sea el caso incremento o decremento
luego imprimo...
Código PHP:
<?
    
echo "<tr><th colspan=7>$anioo</th></tr><tr>";
    echo 
"<tr><td><a href='calendario.php?mess=$prev&anio=$aniop'><<</a></td><th colspan=5>$mes[$mess] $mess</th><td><a href='calendario.php?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>"
?>
Defino la variable $diaa que es para controlar el bucle que imprimirá
los días del mes
Código PHP:
<?
    $diaa 
"1";
    while(
$diaa <= $ultimo){
?>
dentro del while ... uso la funcion mktime() para que me devuelva el dia que en función a la variable $diaa

el mktime combinado con la función date() devuelve el dia de la semana sun mon thu wen .. una cosa asi ... es para saber mas en que casillero ponerlo ...
Código PHP:
<?
$dia 
date("D",mktime(0,0,0,$mess,$diaa,$anio));
?>
Lo mismo hago con esta línea a diferencia que obtengo el día en numeros .. por ejemplo 01 02 03 04 05 06 etc ...
Código PHP:
<?
$fecha 
date("d",mktime(0,0,0,$mess,$diaa,$anio));
?>
En $dia_semana alamceno el numero de día de la semana .. el día 1 2 o 3 así hasta siete .. esto me sirve para el caso de cuando el día 1 de febrero empieza el dia miercoles, entonces esto me sirve para saber en que casillero escribo la fecha ...
Código PHP:
<?PHP
$dia_semana 
date("w",mktime(0,0,0,$mess,$diaa,$anio));
?>
Despues chequeo estas cosas...
Código PHP:
<?php
        
if($dia == "Sun"){
            echo 
"</tr><tr>";
        } 
?>
Si el día es igual domingo cierro la fila y abro una nueva ..
dado de que el calendario lo imprimo asi ..

L M M J V S D

Despues pregunto si el día es primero, para saber cuantos casilleros me tengo que mover a la derecha .. acá es donde uso la variable $dia_semana
Código PHP:
<?
        
if($fecha == "01"){
            
$i=0;
            while(
$i != $dia_semana){
                echo 
"<td>&nbsp;</td>";
                
$i++;
            }
        }
?>
imprimo la variable $fecha e incremento la variable diaa que es la que controla el bucle ...

Código PHP:
<?
        
echo "<td>$fecha</td>";
        
$diaa++; 
?>
Espero haberme explicado bien ... cualquier duda .. ya sabes ...

recorda que todo es en base a las funciones mktime y date
__________________
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; 25/02/2006 a las 16:13
  #9 (permalink)  
Antiguo 25/02/2006, 18:02
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 12 años, 6 meses
Puntos: 7
muy Buena Turco
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #10 (permalink)  
Antiguo 25/02/2006, 22:42
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 14 años
Puntos: 19
gracias ... :d estoy muy seguro que le pueden hacer modificaciones ... saludos
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
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 06:49.