Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/01/2014, 05:53
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 1 mes
Puntos: 65
Respuesta: Preparando una tabla mysql para hacer un horario semanal de clases en html

Cita:
Iniciado por helenp Ver Mensaje
Me cuesta un poco coger "la ruta"
A ver, las clases son fijas, es decir a elegir, o puede ser individual?
Si son fijas, hay muchas clases diferentes?
Cita:
Iniciado por helenp Ver Mensaje
pensandolo bien tiene un parecido a mi web que es reservas.
quizas algo asi:
Código HTML:
Ver original
  1. id          nombre    hora       dia_semana     clase
  2. 1           pepe       12:00      Lunes              Samba
Asi sería una fila por cada clase.
No estoy muy segura
Hola helenp, son clases que pueden variar en cualquier momento al igual que las horas y días de semana. La idea de hacerlo por filas lo intenté solo que no sabía como posicionar cada clase en un día distinto, creo que algo así podría servirme:

horas
----------
id_hora
hora
clase_dia1
clase_dia2
id_horario

Cita:
Iniciado por mortiprogramador Ver Mensaje
<saludos>
Sobre lo que se comenta tengo lo siguiente

1. Cambiar el id por el nombre
Respecto a esto, pregunto, según lo que comentas de las tablas,
entonces debes imprimir es el campo clase en donde quieres ver
la descripción de la misma

2. En cuanto a que no salga la totalidad de los registros, no será
tal vez por el where de la consulta?
Si ejecutas el query en el motor con el filtro que estás haciendo,
cuantos registros obtienes?

Revisa eso y nos cuentas
</saludos>
Hola mortiprogramador, he probado cambiando el filtro y ahora si me imprimen todos, solo que de esta manera sigo imprimiendo números:

Código PHP:
Ver original
  1. $consulta_horas = "select x_clases.clase, x_horas.hora, x_horas.clase_dia1,x_horas.clase_dia2 from x_clases, x_horas
  2.                 where
  3.                 x_clases.id_clase=x_horas.id_hora";
  4. $resultado_horas=mysql_query($consulta_horas);
  5.             while($fila=mysql_fetch_array($resultado_horas))          
  6.             {  
  7.                 echo '<tr>';              
  8.                 echo '<td>'.$fila["hora"].'</td>';            
  9.                 echo '<td>'.$fila["clase_dia1"].'</td>';              
  10.                 echo '<td>'.$fila["clase_dia2"].'</td>';
  11.                 echo '</tr>';
  12.             }

Hora --- Lunes - Martes
19:00 --- 1 ------ 0
20:00 --- 2 ------ 3
21:00 ----0 ------ 4

Si intento imprimirlos desde la tabla clase las clases salen repetidas:

Código PHP:
Ver original
  1. while($fila=mysql_fetch_array($resultado_horas))           
  2.             {  
  3.                 echo '<tr>';
  4. echo '<td>'.$fila["hora"].'</td>';                         
  5.                 echo '<td>'.$fila["clase"].'</td>';            
  6.                 echo '<td>'.$fila["clase"].'</td>';
  7.                 echo '</tr>';
  8.             }

Así que siguiendo vuestros consejos he probado haciéndolo por filas y a la vez insertando directamente en la tabla horas el nombre de la clase y creo que así ya está correcto:

horas
----------
id_hora
hora
clase_dia1
clase_dia2
id_horario

Código PHP:
Ver original
  1. $consulta_horas = "select * from horas";
  2. $resultado_horas=mysql_query($consulta_horas);
  3.             while($fila=mysql_fetch_array($resultado_horas))           
  4.             {  
  5.                 echo '<tr>';               
  6.                 echo '<td>'.$fila["hora"].'</td>';             
  7.                 echo '<td>'.$fila["clase_dia1"].'</td>';                   
  8.                 echo '<td>'.$fila["clase_dia2"].'</td>';           
  9.                 echo '</tr>';
  10.             }

¿Es mejor así con solo dos tablas o sería mejor retomar la opción anterior y hacer otra tabla para las clases?. La opción que me gustaría dejar más adelante es que el mismo usuario cree su propia tabla de horarios desde 0.

Gracias por vuestra ayuda, saludos