Foros del Web » Programando para Internet » PHP »

Calendario PHP con selección de fecha

Estas en el tema de Calendario PHP con selección de fecha en el foro de PHP en Foros del Web. Buenas! Estoy intentando realizar un calendario en PHP. Ya tengo casi todo listo pero me falta la parte más importante y a la que llevo ...
  #1 (permalink)  
Antiguo 20/07/2014, 11:45
 
Fecha de Ingreso: junio-2014
Mensajes: 14
Antigüedad: 9 años, 9 meses
Puntos: 0
Calendario PHP con selección de fecha

Buenas!

Estoy intentando realizar un calendario en PHP. Ya tengo casi todo listo pero me falta la parte más importante y a la que llevo días dándole vueltas.

Necesito que los días de mi calendario sean seleccionables para guardarlos en una variable, me explico:

Selecciono una fecha en mi calendario (por ejemplo, 20-07-2014) eligiendo el mes y el año desde los select y el día con el ratón.

Ese es mi problema, por más que he buscado soy incapaz de dar con la manera de seleccionar el día y que me guarde la fecha en una variable PHP.

Adjunto el código de mi calendario.

Muchas gracias por adelantado.

Saludos,

Jennifer

Código:
<html>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>     <!Meta para poder ver los acentos correctamente>

   <head>

   </head>
   <body>
   
		<div>

			<form method="post" action="calendario.php" >

				<select id="mes" name="mes" class="mes">
					<option selected value="1">Enero</option>
					<option value="2">Febrero</option>
					<option value="3">Marzo</option>
					<option value="4">Abril</option>
					<option value="5">Mayo</option>
					<option value="6">Junio</option>
					<option value="7">Julio</option>
					<option value="8">Agosto</option>
					<option value="9">Septiembre</option>
					<option value="10">Octubre</option>
					<option value="11">Noviembre</option>
					<option value="12">Diciembre</option>
				</select>
			
				<select id="year" name="year" class="year">
					<?php
						$actual_year=date('Y');
						
						for ($i = 1990; $i <= $actual_year; $i++) {
							echo '<option value="'.$i.'">'.$i.'</option>';
						}
					?>
				</select>
			
				<input class="proc" type="submit" value="Buscar"> 
				
			</form>

			<?php	

				
			?>	

			<!Número de días que tiene cada mes>
			<?php

				include ('funciones.php');
				
				if ($_POST) {
					$numero_mes = $_POST["mes"];
					$numero_year = $_POST["year"];
				}else{
					$tiempo_actual = time();
					$numero_mes = date("n", $tiempo_actual);
					$numero_year = date("Y", $tiempo_actual);
				}
				
				//$numero_mes = obtener_fecha(1990,true);
				//$numero_year = obtener_fecha(1990,false);
				
				$cantidad_dias=evaluar_mes($numero_mes, $numero_year, true);
				$nombre_mes=evaluar_mes($numero_mes, $numero_year, false);
				
				$var = mktime(0,0,0, $numero_mes, 1, $numero_year);
				$dia_comienzo = date("w", $var);
				$cantidad_dias += $dia_comienzo;
				
				$filas = ceil($cantidad_dias/7);  //Ceil me da el número entero superior de filas
				$cantidad_celdas = $filas * 7;
				$anadir_celdas=$cantidad_celdas-$cantidad_dias;
			?>
		

	<table class="calendar">
		<thead>
			<tr><th>&lt;&lt;</th><th colspan="5"><?php echo $numero_year?></th><th>&gt;&gt;</th></tr>
			<tr><th>&lt;&lt;</th><th colspan="5"><?php echo $nombre_mes ?></th><th>&gt;&gt;</th></tr>
			<tr><th>D</th><th>L</th><th>M</th><th>X</th><th>J</th><th>V</th><th>S</th>
		</thead>
		<tbody>
			<tr>
				<!Creo las 35 celdas (5 semanas) y cada 7 celdas paso a la siguiente fila>
				<?php
					
					for ($i = 1; $i <= $cantidad_dias; $i++) {
						if ($i <= $dia_comienzo) {
							echo '<td></td>';	
						} else {
							$num_dia = $i - $dia_comienzo;
							
							echo '<td>'.$num_dia.'</td>';	
						}
						if ($i % 7 == 0) {
							echo '</tr><tr>';
						}
					}
					
					for ($i = 1; $i <= $anadir_celdas; $i++) {
						echo '<td></td>';	
					}
					
									
				?>
			</tr>
			</tbody>	

		</div>
	</table>
	
	


   </body>
</html>
  #2 (permalink)  
Antiguo 20/07/2014, 11:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Calendario PHP con selección de fecha

Hay muchos calendarios en javascript que ya te brindan esta funcionalidad.

¿Por qué solucionarlo con PHP?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/07/2014, 11:52
 
Fecha de Ingreso: junio-2014
Mensajes: 14
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Calendario PHP con selección de fecha

Cita:
Iniciado por pateketrueke Ver Mensaje
Hay muchos calendarios en javascript que ya te brindan esta funcionalidad.

¿Por qué solucionarlo con PHP?
Intento hacerlo con php porque no conozco cómo funciona javascript. De todas formas, también lo intenté haciendo uso de los datepicker y no pude conseguir pasar la fecha a mi función php.
  #4 (permalink)  
Antiguo 20/07/2014, 11:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Calendario PHP con selección de fecha

El tema, es que para controlar el día del més necesitas hacer muchos calculos y si cambias el <select> del més deberías hacer el cálculo nuevamente, y si cambias de año también.

Por eso es que Javascript es la solución correcta, no digo que no puedes resolverlo con PHP pero implica más lógica de la que imaginas, no es necesario reinventar la rueda por algo así.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 20/07/2014, 12:00
 
Fecha de Ingreso: junio-2014
Mensajes: 14
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Calendario PHP con selección de fecha

Cita:
Iniciado por pateketrueke Ver Mensaje
El tema, es que para controlar el día del més necesitas hacer muchos calculos y si cambias el <select> del més deberías hacer el cálculo nuevamente, y si cambias de año también.

Por eso es que Javascript es la solución correcta, no digo que no puedes resolverlo con PHP pero implica más lógica de la que imaginas, no es necesario reinventar la rueda por algo así.
He hecho varias comprobaciones y el día del mes sale correcto en todos. El problema es seleccionarlo con el ratón, es decir, que sea como un hipervinculo que al pinchar en él se pueda obtener la fecha en una variable.
  #6 (permalink)  
Antiguo 20/07/2014, 12:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Calendario PHP con selección de fecha

Cita:
Iniciado por Jenn90 Ver Mensaje
He hecho varias comprobaciones y el día del mes sale correcto en todos. El problema es seleccionarlo con el ratón, es decir, que sea como un hipervinculo que al pinchar en él se pueda obtener la fecha en una variable.
Sería bueno ver cómo lo haces, porque francamente no he visto dicho código en lo que has mostrado antes.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 20/07/2014, 13:43
 
Fecha de Ingreso: junio-2014
Mensajes: 14
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Calendario PHP con selección de fecha

¿Cómo puedo subir alguna imagen?
  #8 (permalink)  
Antiguo 20/07/2014, 14:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Calendario PHP con selección de fecha

Yo me refería al código que has hecho y que no te ha funcionado antes, servicios para subir imagenes en Internet hay muchos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 20/07/2014, 15:28
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 5 meses
Puntos: 38
Respuesta: Calendario PHP con selección de fecha

Cita:
Iniciado por pateketrueke Ver Mensaje
Hay muchos calendarios en javascript que ya te brindan esta funcionalidad.

¿Por qué solucionarlo con PHP?
Totalmente de acuerdo!

Acabaras antes si te ayudamos a integrar el plugin pasando los datos por ajax o post o get.
  #10 (permalink)  
Antiguo 20/07/2014, 15:46
 
Fecha de Ingreso: junio-2014
Mensajes: 14
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Calendario PHP con selección de fecha

Cita:
Iniciado por Djoaq Ver Mensaje
Totalmente de acuerdo!

Acabaras antes si te ayudamos a integrar el plugin pasando los datos por ajax o post o get.
No tengo problema en integrar otros lenguajes pero, como dices, necesito ayuda ya que solamente controlo html5 y algo de php.

Estaría muy agradecida si me ayudan ya que me corre algo de prisa terminar este calendario.
  #11 (permalink)  
Antiguo 20/07/2014, 16:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Calendario PHP con selección de fecha

Pues yo sigo sin ver el código que dices que falla, el que mostraste al inicio no dicenada, sólo imprimes una tabla con los días pero no explicas el modo en que usas dichos valores ni como los estás pasando, etc.

Dudo que quieras código ya hecho, así que si compartes más información dudo que alguien más te ayude.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 20/07/2014, 16:01
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 5 meses
Puntos: 38
Respuesta: Calendario PHP con selección de fecha

Es muy fácil aqui ejemplo oficial de jquery

Código HTML:
Ver original
  1. <!doctype html>
  2. <html lang="en">
  3. <meta charset="utf-8">
  4. <title>jQuery UI Datepicker - Default functionality</title>
  5. <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
  6. <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  7. <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
  8. <link rel="stylesheet" href="/resources/demos/style.css">
  9. $(function() {
  10. $( "#datepicker" ).datepicker();
  11. });
  12. </head>
  13. <p>Date: <input type="text" id="datepicker"></p>
  14. </body>
  15. </html>
  #13 (permalink)  
Antiguo 20/07/2014, 16:05
 
Fecha de Ingreso: junio-2014
Mensajes: 14
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Calendario PHP con selección de fecha

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues yo sigo sin ver el código que dices que falla, el que mostraste al inicio no dicenada, sólo imprimes una tabla con los días pero no explicas el modo en que usas dichos valores ni como los estás pasando, etc.

Dudo que quieras código ya hecho, así que si compartes más información dudo que alguien más te ayude.
Disculpa si no me he explicado bien. El código que puse lo único que hace es imprimir el calendario y seleccionar el mes y el año. Lo que quiero hacer es lograr hacer click en un día y que lo guarde en una variable. No sé cómo implementar eso que te comento.
  #14 (permalink)  
Antiguo 20/07/2014, 16:06
 
Fecha de Ingreso: junio-2014
Mensajes: 14
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Calendario PHP con selección de fecha

Cita:
Iniciado por Djoaq Ver Mensaje
Es muy fácil aqui ejemplo oficial de jquery

Código HTML:
Ver original
  1. <!doctype html>
  2. <html lang="en">
  3. <meta charset="utf-8">
  4. <title>jQuery UI Datepicker - Default functionality</title>
  5. <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
  6. <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  7. <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
  8. <link rel="stylesheet" href="/resources/demos/style.css">
  9. $(function() {
  10. $( "#datepicker" ).datepicker();
  11. });
  12. </head>
  13. <p>Date: <input type="text" id="datepicker"></p>
  14. </body>
  15. </html>
Esto lo he intentado pero el problema es que yo no quiero pasar la fecha mediante un cuadro de texto, sino obtenerla al hacer click en el día que deseo.
  #15 (permalink)  
Antiguo 20/07/2014, 16:24
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 5 meses
Puntos: 38
Respuesta: Calendario PHP con selección de fecha

Esto ya no sería php habría que moverlo a Jquery ...

Si a lo que te refieres que es aparezca directamente sin tener que clickar en un input ..

solo debes cambiar el input por :

Código Javascript:
Ver original
  1. Date: <div id="datepicker"></div>

cambia la linea 17 por esto y pruébalo a ver .
  #16 (permalink)  
Antiguo 20/07/2014, 16:51
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 9 meses
Puntos: 28
Respuesta: Calendario PHP con selección de fecha

seria de moverlo a javascript como tal...
pero si es un campo de un formulario yo suelo usar:

Birthday: <input type="date" name="bday"> el cual no tiene soporte para IE ni FF...
pero eso lo soluciono con placeholder"09/09/1986" sugiriendo el formato de la fecha....

http://jqueryui.com/datepicker/

con Jquerry:

Código PHP:
Ver original
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="utf-8">
  5.   <title>jQuery UI Datepicker - Default functionality</title>
  6.   <link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
  7.   <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  8.   <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
  9.   <link rel="stylesheet" href="/resources/demos/style.css">
  10.   <script>
  11.   $(function() {
  12.     $( "#datepicker" ).datepicker();
  13.   });
  14.   </script>
  15. </head>
  16. <body>
  17.  
  18. <p>Date: <input type="text" id="datepicker"></p>
  19.  
  20.  
  21. </body>
  22. </html>


y aqui hay otros 21... http://www.bitrepository.com/a-colle...e-pickers.html
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #17 (permalink)  
Antiguo 22/07/2014, 01:58
 
Fecha de Ingreso: junio-2014
Mensajes: 14
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Calendario PHP con selección de fecha

Muchas gracias a todos por las respuestas.

Ahora, me queda una duda...

Estoy intentando obtener la fecha en una variable php y no lo consigo. ¿Cómo podría obtenerla para pasarla a otra función?

Etiquetas: calendario, fecha, html, select, variable
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 20:59.