Autor Tema: Vista de datos de una base de datos en calendario semanal  (Leído 3980 veces)

kip13

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Hola a todos, necesito de gran ayuda en un proyecto personal que estoy realizando, intento hacer una web que me muestre en un calendario semanal con las horas(como un horario o itinerario) de cada dia de la semana (valga la redundancia). Tengo una base de datos con los datos: id, nombre, telf, correo, fecha, horainicio, horasalida.
La verdad es que tengo lios porque he estado pensando en mejor colocar solo un campo que me almacene la fecha y la hora pero lo pienso y no sabria como mostrarlo en un calendario. He estado revisando mucho y he encontrado ciertos scripts y otras cosas que en realidad no me han ayudado aunque si me han guiado un poco a hacerme una idea algo basica de como podria mostrarlo.
Quiero mostrar algo sencillo, un simple calendario semanal que me muestre todas las horas en una columna y los dias de la semana actual en otras.
Algo como esto pero con ciertas horas mas:

Las horas serian estaticas propias de la tabla y las fechas serian las de la semana actual pero, si en la base de datos que tengo hay un dato con la fecha y hora de la tabla pues me lo mostraria de alguna forma, ya sea con un mensaje que diga 'RESERVD' o algo parecido.
Pienso quizas que lo mejor es crear una tabla pero no sabria como adaptarla a mi gusto, por cuestion de fecha y horas.

Solo me gustaria saber como mostrar aquello, espero me ayuden.

Espero me haya hecho entender, muchas gracias desde ya, saludos.
El sistema que realizo es como uno de reserva a un estudio musical.


PD: EN ESTE CALENDARIO SOLO QUIERO MOSTRAR LOS DATOS, NADA MAS, NO QUIERO EDITARLOS.
« Última modificación: 19 de Marzo 2016, 16:37 por kip13 »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Vista de datos de una base de datos en calendario semanal
« Respuesta #1 en: 21 de Marzo 2016, 10:16 »
Hola kip13

Habría que entender bien el problema, por lo que he entendido se trataría por ejemplo de una sala supongamos que una sala de reuniones o algo así y lo que querrías es mostrar el calendario por horas donde se pueda ver si la sala está reservada en esa hora o está libre.

Lo primero que habría que aclarar es cómo guardas la información en la base de datos. A partir de ahí ya harías la recuperación y el mostrar la tabla. Una forma habitual podría ser tener una tabla "Salas" donde figura el nombre de las salas, capacidad, etc. y otra tabla "Reservas" donde figuren idSala, fechaReserva, horaDesde, horaHasta de modo que ahí estén reflejadas todas las reservas de todas las salas

¿Cómo tienes organizada la información de reservas en base de datos?

kip13

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re:Vista de datos de una base de datos en calendario semanal
« Respuesta #2 en: 21 de Marzo 2016, 18:52 »
Hola javi, gracias por responder, lo que tengo en mente es mostrar las reservaciones de horas en el dia de una sala de ensayo.

La base de datos la tengo así:

idbanda; int
banda; varchar(50)
correo; varchar(50)
telf; int(10)
dia_reserv; DATE
inicio_reserv; TIME
fin_reserv; TIME

Asi es como la tengo, quisiera tambien modificar los ultimos tres campos y en lugar de ellos, tener solo uno tipo DATETIME, pero no sabria como configurar para mostrar o para que no se repita si otra banda quiere reservarlo, asi que como lo tengo creo que esta bien.

Estuve pidiendo ayuda en otro foro y me dieron una idea pero sin lograr una conexión a la base de datos, logre crear gracias a la ayuda un calendario semanal de la semana actual, algo crudo y de aspecto muy viejo, tambien me recomendaron utilizar fullcalendar, he estado haciendo pruebas pero no entiendo toda la parte de la documentacion, siento que en la pagina no la explican del todo bien o quiza sea yo el inexperto.

Aunque encontré un foro donde hacen una configuracion casi parecida a lo que necesito, estare probando a ver que tal.

Por ahora te dejo aquí mi horario que logre hacer, eso si sin conectar a la base y sin poder cambiar a alguna otra semana que no sea la actual, por cierto olvide decir que no pude agregar las horas, aunque creo que con algun array he de poder hacerlo, no lo he avanzado porque me recomendaron mejor el fullcalendar por aspecto y porque me ahorrare un monton de tiempo, aunque este me da los mismos dolores de cabeza que mi creacion algo obsoleta jaja.


CODIGO HORARIO OBSOLETO:

Código: [Seleccionar]
<?php  
//verificacion de semana actual 
   
$ul =  $ul strtotime("week"time());; 
  
$ul strtotime('last monday'); 

//dias de la semana arreglo 
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"); 
$dias_semana = array('Lunes''Martes','Miercoles''Jueves''Viernes''Sabado''Domingo'); 

?>


<table border="1" id="tabla_diashoras" align="center" >
  <thead > 
  <tr>
     <?php       
         $mes_act
=date("n"$ul); 
          echo 
'<th colspan="8">'.$meses[$mes_act 1].'</th> '
      
?>

  </tr>
  <tr>
  <th>HORAS</th>
       <?php 
          
for($i=0;$i<7;$i++){ 
          
//Sumamos días a la fecha del lunes actual 
          
$sd strtotime("+$i day"$ul); 
     
          
//comprobamos si la fecha del bucle es la fecha actual 
          
if(date('Y-m-d'$sd) === date('Y-m-d')) { 
            
//colocamos el dia actual en rojo y ponemos el array para mostrar los dias en español 
          
echo '<th bgcolor="#FF6600" align="center" nowrap >'.$dias_semana[$i].' '.date("d"$sd).'</th> '
          } else { 
           
//colocamos el el resto de los dias en gris y ponemos el array para mostrar los dias en español 
          
echo '<th font color="gray" align="center" nowrap>'.$dias_semana[$i].' '.date("d"$sd).'</th> '
          } 
          } 
        
?>

  </tr>
  </thead>

</table>


VISTA:



Bueno y no publico nada del fullcalendar porque lo he dejado por un dia, ahora tendre que ponerme al dia y seguir buscando la forma de adaptar mi base y ajustar el fullcalendar, aunque quizas pueda utilizar este calendario obsoleto, si alguien puede ayudarme dandome alguna documentacion, codigo de guia o algo, le agradeceria mucho, en realidad no quiero que me lo hagan, quiero aprender, hago todo por intentar hayar la solucion.

Muchas gracias.

Saludos!!
« Última modificación: 23 de Marzo 2016, 11:02 por César Krall »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".