Foros del Web » Programando para Internet » PHP »

alguien tiene un un calendario hecho con php

Estas en el tema de alguien tiene un un calendario hecho con php en el foro de PHP en Foros del Web. alguien tiene un un calendario hecho con php, me pasaron uno, pero me esta costando entenderte, pero debe estar hecho con puro php gracias...
  #1 (permalink)  
Antiguo 30/09/2013, 10:58
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
alguien tiene un un calendario hecho con php

alguien tiene un un calendario hecho con php, me pasaron uno, pero me esta costando entenderte, pero debe estar hecho con puro php

gracias
  #2 (permalink)  
Antiguo 30/09/2013, 11:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: alguien tiene un un calendario hecho con php

Código PHP:
Ver original
  1. function maniana($dia=""){
  2.     $time = is_string($dia) ? strtotime($dia) : (is_int($dia) ? $dia : time());
  3.     return mktime(0,0,0,date("m",$time),date("d",$time)+1,date("Y",$time));
  4. }

Si buscas datepiker o calendar php en google hay muchos.... si no esta funcion combinada con un bucle te construye facil facil el calendario....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 30/09/2013, 11:28
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

Cita:
Iniciado por quimfv Ver Mensaje
Código PHP:
Ver original
  1. function maniana($dia=""){
  2.     $time = is_string($dia) ? strtotime($dia) : (is_int($dia) ? $dia : time());
  3.     return mktime(0,0,0,date("m",$time),date("d",$time)+1,date("Y",$time));
  4. }

Si buscas datepiker o calendar php en google hay muchos.... si no esta funcion combinada con un bucle te construye facil facil el calendario....
lo puse así
<?php
//Obtener informacion de la fecha actual
function maniana($dia=""){
$time = is_string($dia) ? strtotime($dia) : (is_int($dia) ? $dia : time());
return mktime(0,0,0,date("m",$time),date("d",$time)+1,dat e("Y",$time));
}
echo maniana(1);
?>

¿así debe ser o esta ?
  #4 (permalink)  
Antiguo 30/09/2013, 11:59
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años
Puntos: 96
Respuesta: alguien tiene un un calendario hecho con php

Lo ptobaste?
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #5 (permalink)  
Antiguo 30/09/2013, 12:50
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

Cita:
Iniciado por SkAr88 Ver Mensaje
Lo ptobaste?


si lo probé y sale 86400

esto fue lo que puse


<?php
//Obtener informacion de la fecha actual
function maniana($dia=""){
$time = is_string($dia) ? strtotime($dia) : (is_int($dia) ? $dia : time());
return mktime(0,0,0,date("m",$time),date("d",$time)+1,dat e("Y",$time));
}
echo maniana(1);
?>
  #6 (permalink)  
Antiguo 30/09/2013, 13:02
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

Cita:
Iniciado por SkAr88 Ver Mensaje
Lo ptobaste?
yo hice un calendario asi por guia de un libro
pero no he podido pasarla a css
ojala me ayuden a quitarle las tablas
realmente esta muy bueno
Código HTML:
Ver original
  1.  <HEAD>
  2.    <TITLE>Funciones de Fecha y Hora</TITLE>
  3.    <style>
  4.     body {font: 12px Verdana;}
  5.     table {font: 12px Verdana;color:orange;text-align:right;}
  6.     tr.cabecera {background-color:#808080;color:#F8F8F8;font-weight:bold;}
  7.     tr.semana {background-color:#FFFBAD;color:#808080;font-weight:bold;}
  8.     a {text-decoration:none;color:orange;}
  9.     a.marcado {background-color:green;}
  10.     a.festivo {color:#B00000;}
  11.     a.opc {color:gray;font-weight:bold;}
  12.     p.error {font:14px;color:red;font-weight:bold;}
  13.   </style>
  14.  </HEAD>
  15.  
  16.  <?php
  17.   $meses_txt=array("","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio", "Agosto","Septiembre","Octubre","Noviembre","Diciembre");
  18.   $dias_txt=array("L","M","X","J","V","S","D");
  19.  
  20.   // Función que transforma el dia de la semana para que el 0 sea el lunes y
  21.   // el 6 el domingo
  22.   function actualiza_dia_semana($dia){
  23.     return ($dia>0)?$dia-1:6;
  24.    }
  25.    // Función que informa si un día pertenece al fin de semana
  26.    function festivo($dia){
  27.      return ($dia>4)?true:false;
  28.    }
  29.  
  30.  ?>
  31.  <BODY>
  32.    <CENTER>
  33.      <H3>Funciones de Fecha y Hora</H3>
  34.      <?php
  35.       $hoy=getdate();
  36.    
  37.        
  38.        
  39.        
  40.       $dia=!empty($_GET['dia'])?$_GET['dia']:$hoy['mday'];
  41.       $mes=!empty($_GET['mes'])?$_GET['mes']:$hoy['mon'];
  42.       $anio=!empty($_GET['anio'])?$_GET['anio']:$hoy['year'];
  43.       if($anio<=99) $anio+=2000;
  44.       if(!checkdate($mes,$dia,$anio)||$anio<1971){
  45.          echo "<HR><P CLASS='error'>ERROR: La fecha introducida no es válida...</P>";
  46.       echo "<BR>< <A HREF='fechas1.html'>volver</A> ><HR>";
  47.        } else {
  48.       // obtenemos el día de la semana del primer día del mes
  49.       $primer_dia=actualiza_dia_semana(date("w",mktime(0,0,0,$mes,1,$anio)));
  50.           // obtenemos el último día del mes
  51.       $ultimo_dia=date("t",mktime(0,0,0,$mes,1,$anio));
  52.  
  53.       // escritura de la tabla que representa el calendario de un MES
  54.       echo "<TABLE BORDER='0' CELLPADDING='2' CELLSPACING='0' WIDTH='50%'>\n";
  55.       // escribir la cabecera que incluye el mes y el año del calendario
  56.       echo "<TR CLASS='cabecera'>";
  57.       echo "<TD COLSPAN='7'>",$meses_txt[$mes]," $anio</TD></TR>\n";
  58.       // escribir la cabecera que indica los días de la semana
  59.       echo "<TR CLASS='semana'>";
  60.       for ($i=0; $i<7; $i++)
  61.         echo "<TD>$dias_txt[$i]</TD>";
  62.       echo "</TR>\n<TR>";
  63.       // escribir los días del mes
  64.       $contador_de_dias=1;
  65.       while ($contador_de_dias <= $ultimo_dia)
  66.         {
  67.         for ($i=0; $i<7; $i++)
  68.            if (($i < $primer_dia) || ($contador_de_dias > $ultimo_dia))
  69.             echo "<TD>&nbsp;</TD>";
  70.             else {
  71.                echo "<TD><A HREF='fechas1.php?dia=$contador_de_dias&mes=$mes&anio=$anio'";
  72.            if($contador_de_dias==$dia)
  73.               echo " class='marcado'";
  74.               if(festivo($i))
  75.               echo " class='festivo'";
  76.            echo ">$contador_de_dias</A></TD>";
  77.                $contador_de_dias++;
  78.             }
  79.      // la siguiente semana comienza por lunes (dia 0)  
  80.          $primer_dia=0;
  81.          echo "</TR><TR>";
  82.     }
  83.         echo "</TR></TABLE><BR>";
  84.     $fecha=getdate(mktime(0,0,0,$mes,$dia,$anio));
  85.     echo "<P STYLE='color:red;'>Día juliano nº <B>",$fecha['yday']+1,"</B></P><BR>";
  86.     $url = "fechas1.php?dia=$dia&mes=$mes&anio=".($anio-1);
  87.         echo "<PRE>< <A CLASS='opc' HREF='$url'>año-</A> | ";
  88.     $url = "fechas1.php?dia=$dia";
  89.     if ($mes==1)
  90.         $url .= "&anio=".($anio-1)."&mes=12";
  91.     else
  92.         $url .= "&anio=$anio&mes=".($mes-1);
  93.         echo "<A CLASS='opc' HREF='$url'>mes-</A> | ";
  94.     echo "<A CLASS='opc' HREF='fechas1.php?'>hoy</A> | ";
  95.     $url = "fechas1.php?dia=$dia";
  96.     if ($mes==12)
  97.         $url .= "&anio=".($anio+1)."&mes=1";
  98.     else
  99.         $url .= "&anio=$anio&mes=".($mes+1);
  100.         echo "<A CLASS='opc' HREF='$url'>mes+</A> | ";
  101.     $url = "fechas1.php?dia=$dia&mes=$mes&anio=".($anio+1);
  102.         echo "<A CLASS='opc' HREF='$url'>año+</A> >";
  103.         echo "<BR>< <A CLASS='opc' HREF='fechas1.html'>nueva fecha</A> ></PRE>";
  104.        }
  105.      ?>
  106.    </CENTER>
  107.  </BODY>
  108. </HTML>
  #7 (permalink)  
Antiguo 30/09/2013, 13:06
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

estoy buscando algo asi
http://www.martiniglesias.eu/blog/ca...ery-y-vtip/101

pero lo quiero hacer con php
mil gracias
vean mi codigo y veran que hacer un calendario no es tan dificil
pero me esta costando pasarlo a css
y quitarle las tablas ya que a mi no me gustan las tablas

si lo prueban se darán cuenta que funciona muy bien
  #8 (permalink)  
Antiguo 30/09/2013, 13:21
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

O ESTE LE QUIERO QUITAR LAS TABLAS


Código HTML:
Ver original
  1. <?php
  2. # definimos los valores iniciales para nuestro calendario
  3. $month=date("n");
  4. $year=date("Y");
  5. $diaActual=date("j");
  6.  
  7. # Obtenemos el dia de la semana del primer dia
  8. # Devuelve 0 para domingo, 6 para sabado
  9. $diaSemana=date("w",mktime(0,0,0,$month,1,$year))+7;
  10. # Obtenemos el ultimo dia del mes
  11. $ultimoDiaMes=date("d",(mktime(0,0,0,$month+1,1,$year)-1));
  12.  
  13. $meses=array(1=>"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",
  14. "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
  15. ?>
  16.  
  17. <!DOCTYPE html>
  18. <html lang="es">
  19.     <!--http://www.lawebdelprogramador.com-->
  20.     <title>Ejemplo de un simple calendario en PHP</title>
  21.     <meta charset="utf-8">
  22.     <style>
  23.         #calendar {
  24.             font-family:Arial;
  25.             font-size:12px;
  26.         }
  27.         #calendar caption {
  28.             text-align:left;
  29.             padding:5px 10px;
  30.             background-color:#003366;
  31.             color:#fff;
  32.             font-weight:bold;
  33.         }
  34.         #calendar th {
  35.             background-color:#006699;
  36.             color:#fff;
  37.             width:40px;
  38.         }
  39.         #calendar td {
  40.             text-align:right;
  41.             padding:2px 5px;
  42.             background-color:silver;
  43.         }
  44.         #calendar .hoy {
  45.             background-color:red;
  46.         }
  47.     </style>
  48. </head>
  49.  
  50. <h1>Ejemplo de un simple calendario en PHP</h1>
  51. <table id="calendar">
  52.     <caption><?php echo $meses[$month]." ".$year?></caption>
  53.     <tr>
  54.         <th>Lun</th><th>Mar</th><th>Mie</th><th>Jue</th>
  55.         <th>Vie</th><th>Sab</th><th>Dom</th>
  56.     </tr>
  57.     <tr bgcolor="silver">
  58.         <?php
  59.         $last_cell=$diaSemana+$ultimoDiaMes;
  60.         // hacemos un bucle hasta 42, que es el máximo de valores que puede
  61.         // haber... 6 columnas de 7 dias
  62.         for($i=1;$i<=42;$i++)
  63.         {
  64.             if($i==$diaSemana)
  65.             {
  66.                 // determinamos en que dia empieza
  67.                 $day=1;
  68.             }
  69.             if($i<$diaSemana || $i>=$last_cell)
  70.             {
  71.                 // celca vacia
  72.                 echo "<td> </td>";
  73.             }else{
  74.                 // mostramos el dia
  75.                 if($day==$diaActual)
  76.                     echo "<td class='hoy'>$day</td>";
  77.                 else
  78.                     echo "<td>$day</td>";
  79.                 $day++;
  80.             }
  81.             // cuando llega al final de la semana, iniciamos una columna nueva
  82.             if($i%7==0)
  83.             {
  84.                 echo "</tr><tr>\n";
  85.             }
  86.         }
  87.     ?>
  88.     </tr>
  89. </body>
  90. </html>
  #9 (permalink)  
Antiguo 30/09/2013, 13:41
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: alguien tiene un un calendario hecho con php

El uso de tablas o no, y de css, no depende de php.

Por otro lado, si bien es cierto que el uso de tablas se mal usó mucho tiempo para maquetar contenido, también es un hecho que se demonizó su uso, aunque esté justificado para muchos casos.

Para el caso de un calendario, si no quieres usar tablas, ¿qué quieres usar? ¿capas?
  #10 (permalink)  
Antiguo 30/09/2013, 14:08
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

Cita:
Iniciado por ocp001a Ver Mensaje
El uso de tablas o no, y de css, no depende de php.

Por otro lado, si bien es cierto que el uso de tablas se mal usó mucho tiempo para maquetar contenido, también es un hecho que se demonizó su uso, aunque esté justificado para muchos casos.

Para el caso de un calendario, si no quieres usar tablas, ¿qué quieres usar? ¿capas?
exacto como lo haría con estos dos ejemplos
pero sin tablas
  #11 (permalink)  
Antiguo 30/09/2013, 14:09
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

tambien hay otra ejemplo
pero no he podido quitarte las tablas

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <title>Calendario</title>
  4. <?php
  5. $anoInicial = '1900';
  6. $anoFinal = '2100';
  7. $funcionTratarFecha = 'document.location = "?dia="+dia+"&mes="+mes+"&ano="+ano;';
  8. ?><script>
  9. function tratarFecha(dia,mes,ano){
  10.   <?php $funcionTratarFecha?>
  11. }
  12. </script>
  13. <style>
  14. .m1 {
  15.    font-family:MS Sans Serif;
  16.    font-size:8pt
  17. }
  18. a {
  19.    text-decoration:none;
  20.    color:#000000;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <form><table border="0" cellpadding="5" cellspacing="0" bgcolor="#D4D0C8">
  26.   <tr>
  27.     <td width="100%">
  28. <?php
  29. $fecha = getdate(time());
  30. if(isset($_GET["dia"]))$dia = $_GET["dia"];
  31. else $dia = $fecha['mday'];
  32. if(isset($_GET["mes"]))$mes = $_GET["mes"];
  33. else $mes = $fecha['mon'];
  34. if(isset($_GET["ano"]))$ano = $_GET["ano"];
  35. else $ano = $fecha['year'];
  36. $fecha = mktime(0,0,0,$mes,$dia,$ano);
  37. $fechaInicioMes = mktime(0,0,0,$mes,1,$ano);
  38. $fechaInicioMes = date("w",$fechaInicioMes);
  39. ?>
  40.     <select size="1" name="mes" class="m1" onChange="document.location = '?dia=<?php echo $dia?>&mes=' + document.forms[0].mes.value + '&ano=<?php echo $ano?>';">
  41. <?php
  42. $meses = Array ('enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre');
  43. for($i = 1; $i <= 12; $i++){
  44.   echo '      <option ';
  45.   if($mes == $i)echo 'selected ';
  46.   echo 'value="'.$i.'">'.$meses[$i-1]."\n";
  47. }
  48. ?>
  49.     </select>&nbsp;&nbsp;&nbsp;<select size="1" name="ano" class="m1" onChange="document.location = '?dia=<?php echo $dia?>&mes=<?php echo $mes?>&ano=' + document.forms[0].ano.value;">
  50. <?php
  51. for ($i = $anoInicial; $i <= $anoFinal; $i++){
  52.   echo '      <option ';
  53.   if($ano == $i)echo 'selected ';
  54.   echo 'value="'.$i.'">'.$i."\n";
  55. }
  56. ?>
  57.     </select><br>
  58.     <font size="1">&nbsp;</font><table border="0" cellpadding="2" cellspacing="0" width="100%" class="m1" bgcolor="#FFFFFF" height="100%">
  59. <?php
  60. $diasSem = Array ('L','M','M','J','V','S','D');
  61. $ultimoDia = date('t',$fecha);
  62. $numMes = 0;
  63. for ($fila = 0; $fila < 7; $fila++){
  64.   echo "      <tr>\n";
  65.   for ($coln = 0; $coln < 7; $coln++){
  66.     $posicion = Array (1,2,3,4,5,6,0);
  67.     echo '        <td width="14%" height="19"';
  68.     if($fila == 0)echo ' bgcolor="#808080"';
  69.     if($dia-1 == $numMes)echo ' bgcolor="#0A246A"';
  70.     echo " align=\"center\">\n";
  71.     echo '        ';
  72.     if($fila == 0)echo '<font color="#D4D0C8">'.$diasSem[$coln];
  73.     elseif(($numMes && $numMes < $ultimoDia) || (!$numMes && $posicion[$coln] == $fechaInicioMes)){
  74.       echo '<a href="#" onclick="tratarFecha('.(++$numMes).','.$mes.','.$ano.')">';
  75.       if($dia == $numMes)echo '<font color="#FFFFFF">';
  76.       echo ($numMes).'</a>';
  77.     }
  78.     echo "</td>\n";
  79.   }
  80.   echo "      </tr>\n";
  81. }
  82. ?>
  83.     </table>
  84.     </td>
  85.   </tr>
  86. </table></form>
  87. </body>
  88. </html>
  #12 (permalink)  
Antiguo 30/09/2013, 14:12
Avatar de kakashi20  
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 5 meses
Puntos: 15
Respuesta: alguien tiene un un calendario hecho con php

usa el de jquery, es mas facil
  #13 (permalink)  
Antiguo 30/09/2013, 14:41
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 10 meses
Puntos: 528
Respuesta: alguien tiene un un calendario hecho con php

Para usar capas, te sugiero usar capas con la propiedad display:block con dimensiones (ancho y alto) definidos.

Una capa que englobe los días de la semana y tenga el ancho justo para que las capas internas (los días) se acomoden dentro d la capa externa.
  #14 (permalink)  
Antiguo 30/09/2013, 16:13
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años
Puntos: 96
Respuesta: alguien tiene un un calendario hecho con php

Mira encontre esto
http://rubenmartin.me/2012/php-crear-un-calendario/
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #15 (permalink)  
Antiguo 30/09/2013, 20:53
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 10 años, 9 meses
Puntos: 14
Respuesta: alguien tiene un un calendario hecho con php

Y porque no solo usar el campo "date" de HTML5 <input type="date" name="fecha" /> y luego validas con checkdate en php para verificar que la fecha sea correcta! y en caso de que el explorador del usuario no admita HTML5 entonces colocas en el label del input que sea en formato (ejemplo) YYYY-mm-dd y de igual formas validas normalmente con PHP

te recuerdo la funcion checkdate valida si una fecha es valida o no! si quieres probarlo ingresa una fecha como 2013-02-31
  #16 (permalink)  
Antiguo 04/10/2013, 13:14
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

Cita:
Iniciado por skar88 Ver Mensaje
esta bueno
esto muchas gracias
  #17 (permalink)  
Antiguo 04/10/2013, 13:15
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 4 meses
Puntos: 8
Respuesta: alguien tiene un un calendario hecho con php

Cita:
Iniciado por edward1994 Ver Mensaje
y porque no solo usar el campo "date" de html5 <input type="date" name="fecha" /> y luego validas con checkdate en php para verificar que la fecha sea correcta! Y en caso de que el explorador del usuario no admita html5 entonces colocas en el label del input que sea en formato (ejemplo) yyyy-mm-dd y de igual formas validas normalmente con php

te recuerdo la funcion checkdate valida si una fecha es valida o no! Si quieres probarlo ingresa una fecha como 2013-02-31
no es lo mismo
realmente hacer un calendario
te da la habilidad de hacer muchas cosas
yo te recomiendo que aprendas hacerlo

Etiquetas: calendario, hecho
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 23:04.