Foros del Web » Programando para Internet » PHP »

Calendario Php

Estas en el tema de Calendario Php en el foro de PHP en Foros del Web. Alguien sabe como crear un pequeño calendario en php...
  #1 (permalink)  
Antiguo 29/06/2011, 20:31
 
Fecha de Ingreso: septiembre-2009
Mensajes: 138
Antigüedad: 10 años, 8 meses
Puntos: 3
Calendario Php

Alguien sabe como crear un pequeño calendario en php
  #2 (permalink)  
Antiguo 29/06/2011, 20:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 11 años
Puntos: 1517
Respuesta: Calendario Php

Sí, pasa por el área de aportes, hay un tema que te va ayudar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 29/06/2011, 22:24
Avatar de druf143  
Fecha de Ingreso: junio-2011
Ubicación: Lima Peru
Mensajes: 5
Antigüedad: 9 años
Puntos: 0
Respuesta: Calendario Php

En que formato lo deseas? yo tengo varios ejemplos
  #4 (permalink)  
Antiguo 29/06/2011, 22:51
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Calendario Php

HOla, en su oportunidad tuve que crear una agenda de eventos, tipo google calendar.

ahi genere un calendario pequeño, donde con una listbox seleccionas el mes y año
y por jquery devuelvo la forma del mes, tal cual sale en los calendarios normales.

Es eso lo que buscas??
  #5 (permalink)  
Antiguo 30/06/2011, 14:00
 
Fecha de Ingreso: septiembre-2009
Mensajes: 138
Antigüedad: 10 años, 8 meses
Puntos: 3
Respuesta: Calendario Php

aver un ejemplo en codigo de un calendario en php
  #6 (permalink)  
Antiguo 30/06/2011, 14:49
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 11 años
Puntos: 1517
Respuesta: Calendario Php

Pasa por el area de aportes...
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 30/06/2011, 16:17
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 9 años, 9 meses
Puntos: 202
Respuesta: Calendario Php

...el aporte que hay es un poco raro la verdad.

Lo puedes hacer de muchas formas, pero en cualquier caso podrías usar:
date() y mktime()

fíjate los valores que devuelven p.e:

$date= mktime(0, 0, 0, date('m'), date('d'), date('Y'))
date('t',$date)
date('w',$date)
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #8 (permalink)  
Antiguo 30/06/2011, 16:33
 
Fecha de Ingreso: septiembre-2009
Mensajes: 138
Antigüedad: 10 años, 8 meses
Puntos: 3
Respuesta: Calendario Php

ose aque por defecto me crea el calendario no o no es asi
  #9 (permalink)  
Antiguo 30/06/2011, 16:52
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 9 años, 9 meses
Puntos: 202
Respuesta: Calendario Php

Cita:
Iniciado por Alber_h Ver Mensaje
ose aque por defecto me crea el calendario no o no es asi
?¿ ¿Cómo te va a crear eso un calendario? Te comenté dos cosas que puedes usar para crearlo. Este foro es de programación en php, si lo que buscas es algo ya hecho no tienes más que buscar en google, hay una gran cantidad y en diferentes lenguajes.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #10 (permalink)  
Antiguo 30/06/2011, 18:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 11 años
Puntos: 1517
Respuesta: Calendario Php

Cita:
Iniciado por IEKK Ver Mensaje
...el aporte que hay es un poco raro la verdad.
¿por qué raro?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 01/07/2011, 05:05
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 9 años, 9 meses
Puntos: 202
Respuesta: Calendario Php

Cita:
Iniciado por abimaelrc Ver Mensaje
¿por qué raro?
Raro para alquien que lo busca un calendario 100% funcional y no como base para empezar.
Generalmente buscan algo ya creado y en el aporte no salen todos los días, no muestra la actual y cosillas así.

De todas formas a mi me pareció raro al ver los explode, buscar si es bisiesto con
date('F Y n L', strtotime('First day of ' . $m . ' month')) y lo de buscar el último día del mes así:
$lastDayOfMonth = date('d', strtotime('last day of ' . $arrDate[0])) + ($arrDate[2] == 2 ? $arrDate[3] : 0);

Yo me conformo con 3 variables para los calendarios

Código PHP:
$date=mktime(000date('m'), date('d'), date('Y'); //actual
$maxDays=date('t',$date); //días totales de ese mes y año.
$emptyDay date('w',$date//cuando comienza la semana 
con eso y un bucle para crear la tabla hay.
... y los href pues algo así:

Año anterior
Código PHP:
$_SERVER['PHP_SELF'].'?date='.mktime(000date('m',$date), date('d'), date('Y',$date)-
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #12 (permalink)  
Antiguo 01/07/2011, 05:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 11 años
Puntos: 1517
Respuesta: Calendario Php

Ahhh bueno, si es para que haga muchas cosas, entonces sí es raro
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 03/07/2011, 19:49
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Calendario Php

Hola

Perdon por lo desaparecida... Yo en su tiempo lo hice asi.
Selecciono el mes y año y devuelvo por medio de jquery el diseño correspondiente al mes.

espero te sirva.
No olvides descargar el archivo jquery de su pagina oficial.
luego creas un "index.php" e insertas el primer codigo
y luego creas un archivo "mes_mini.php" y pones el resto del codigo.

1º HTML QUE CARGA LAS LISTBOX DE MES Y AÑO Y LLAMA LA FUNCION GetMiniMenu()
/**********index.php****************/
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function GetMiniMenu(mes){
$.ajax({
type: "POST",
url: "mes_mini.php",
data: "mes="+$("#select_mes").val()+"&anio="+$("#select_ anio").val(),
success: function(resp){
$("#mini_calendario").html(resp);
}
});
}
</script>
<table width="245" border="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><select name="select_mes" id="select_mes" onChange="GetMiniMenu()">
<option value="1" <? if(date('m') == 1){echo "selected";}?>>Enero</option>
<option value="2" <? if(date('m') == 2){echo "selected";}?>>Febrero</option>
<option value="3" <? if(date('m') == 3){echo "selected";}?>>Marzo</option>
<option value="4" <? if(date('m') == 4){echo "selected";}?>>Abril</option>
<option value="5" <? if(date('m') == 5){echo "selected";}?>>Mayo</option>
<option value="6" <? if(date('m') == 6){echo "selected";}?>>Junio</option>
<option value="7" <? if(date('m') == 7){echo "selected";}?>>Julio</option>
<option value="8" <? if(date('m') == 8){echo "selected";}?>>Agosto</option>
<option value="9" <? if(date('m') == 9){echo "selected";}?>>Septiembre</option>
<option value="10" <? if(date('m') == 10){echo "selected";}?>>Octubre</option>
<option value="11" <? if(date('m') == 11){echo "selected";}?>>Noviembre</option>
<option value="12" <? if(date('m') == 12){echo "selected";}?>>Diciembre</option>
</select>
&nbsp;&nbsp;&nbsp;
<select name="select_anio" id="select_anio" onChange="GetMiniMenu()">
<option value="2010" <? if(date('Y') == 2010){echo "selected";}?>>2010</option>
<option value="2011" <? if(date('Y') == 2011){echo "selected";}?>>2011</option>
<option value="2012" <? if(date('Y') == 2012){echo "selected";}?>>2012</option>
</select> </td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center" id="mini_calendario" ></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
/**********fin index.php*****************/
/***************************/
/***************************/
Luego el archivo q devuelve el calendario
/*********mes_mini.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;
}
function ultimoDia($mes,$ano){
$ultimo_dia=28;
while (checkdate($mes,$ultimo_dia + 1,$ano)){
$ultimo_dia++;
}
return $ultimo_dia;
}

$dia_actual = 1;
$mes = $_POST['mes'];
$ano = $_POST['anio'];
//calculo el numero del dia de la semana del primer dia
$numero_dia = calcula_numero_dia_semana(1,$mes,$ano);

//calculo el último dia del mes
$ultimo_dia = ultimoDia($mes,$ano);
?>
<table width="245" border="1" class="mini_calendario">
<tr class="destaca_semana_cal">
<td>Lun</td>
<td>Mar</td>
<td>Mi&eacute;</td>
<td>Jue</td>
<td>Vie</td>
<td>S&aacute;b</td>
<td>Dom</td>
</tr>

<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
?><td></td><?
} else {
//pongo el número de día del mes en la celda
?><td align='center' class='dia_mes_actual' ><?=$dia_actual?></td>
<? $dia_actual++;
}
}
?></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){
?><tr><? }
?><td align='center' class='dia_mes_actual'><?=$dia_actual?></td><?
$dia_actual++;
$numero_dia++;
//si es el ultimo de la semana, pongo al principio de la semana y escribo el </tr>
if ($numero_dia == 7){
$numero_dia = 0;
?></tr><?
}
}

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

</tr>
</table>
/********fin mes_mini.php***************/

Saludos!
  #14 (permalink)  
Antiguo 04/07/2011, 06:01
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 9 años, 9 meses
Puntos: 202
Respuesta: Calendario Php

Demasiado largo, podrías reducir el codigo con unos bucles y unos arrays.
Además usas funciones innecesarias como ultimoDia() entre otras, ya que algunos datos los puedes conseguir directamente con funciones nativas de php.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #15 (permalink)  
Antiguo 04/07/2011, 09:17
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Calendario Php

Podrias aportar mostrando un ejemplo de como utilizar otras funciones o reducir el codigo,
ademas en este foro se trata de aportar con ideas, no con las pega 100% hecha.

Y ademas funciona perfecto!

Saludos!
  #16 (permalink)  
Antiguo 04/07/2011, 11:50
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 9 años, 9 meses
Puntos: 202
Respuesta: Calendario Php

Cita:
Iniciado por Flakiss Ver Mensaje
Podrias aportar mostrando un ejemplo de como utilizar otras funciones o reducir el codigo,
ademas en este foro se trata de aportar con ideas, no con las pega 100% hecha.

Y ademas funciona perfecto!

Saludos!
Yo no he criticado ni dado pegas, he comentado que se puede reducir ese código.
Tampoco he dicho si funciona o no, ni lo he probado, cada cual con su método de programación. No tengo que hacer un aporte en este tema pues no se ha pedido y porque ya existen las bases en el TEMA APORTES creado por abimaelrc.

Además muchas veces la gente no aprecia los aportes, hacen copy y paste y quieren tenerlo todo a su gusto.

Por cierto comprueba que ya dije que funciones se podían usar: http://www.forosdelweb.com/f18/calen...0/#post3912627
Siento que vieras mi consejo como una mala crítitica al compañ[email protected]
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(

Etiquetas: calendario
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 11:18.