Horario de Clases

Hola estoy realizando un proyecto en la universidad donde estudio, y quisiera saber como hacer para hacer un horario como este que aparece en esta pagina
http://www.opendace.net/clientes/ojeda/ce/wmindocvercar2v.php?cod_doc=1&opcion=3
yo tengo todas las tablas para relacionarlo y mostrar las materias que les tocan en cada horario, pero no se como hacer la tabla que muestre arriba los dias tipo
hora, lunes , martes, miercoles, jueves, viernes, sabado, domingo y en la primera columna debajo de hora, las horas tipo de 8:00 a 8:45, 8:45 a 9:30
espero que me entiendan
postdata: ya he realizado la pregunta anteriormente pero el que "intento ayudarme" no lo hizo muy bien
1

1 respuesta

1
Respuesta de
Hola,
pues no sé si te entiendo bien donde te atascas. Supongo que sabes construir una tabla con etiquetas
<table>
<tr>
y
<td>. La página que muestras sólo tiene una tabla con los datos dentro.
Lo habitual es dibujar primero la línea de cabecera con los nombres de los días y después ejecutar un bucle sobre una consulta a una base de datos (supongo que tienes los datos en una tabla).
La consulta deberías solicitarla ordenada por horas y luego por día de la semana, así en tu bucle vas recorriendo el conjunto de resultados, cambiando de día cuando cambie en el resultado y cambiando de línea cuando cambie la hora.
Si no lo ves claro, concreta en qué lugar te pierdes.
Saludos.
David Cortés Braña
Ok, en estos momentos estoy trabajando en la tabla, ya la tengo lista, cuando salga del trabajo intento seguir con la consulta, si me quedo en alguna parte te pregunto
Gracias
Bueno ya realice la tabla como te dije anteriormente, ahora no se como hacer para depende del código de profesor que coloque me muestre las horas que tiene asignadas en la fila y columna que le corresponde, como esta en el link de arriba
www.iutcojeda.co.cc/une/inforprofe.php    eso es lo que llevo hecho
Hola,
el PHP que suministras no muestra nada, más que la solicitud de un código, que no poseo.
Pero si ya has hecho la tabla, como ya te dije, deberías mostrar la cabecera y luego realizar un bucle para recorrer los registros de tu consulta ordenada como te dije.
Cuando lo hayas hecho, es cuestión de colocar cada registro en su sitio comprobando si la posición actual es la que le corresponde o si no, avanzando hasta la adecuada.
Saludos.
David Cortés Braña
Esa ultima parte que escribiste es lo que me frena, "Colocar cada registro en su sitio", como le digo yo eso, ejemplo en mi tabla tengo una columna donde aparecen varios números "01-02" hace referencia a "Día Lunes de 7:30am a 8:10am", como hago para que me coloque el dato que yo busco en el bucle dentro de la tabla en el sitio correcto.
Hola,
deberías ir paso a paso, porque sino te ofuscas con el problema final. Como ya te dije, lo primero es realizar una consulta SQL que te devuelva los contenidos de la tabla ordenados por hora y día de la semana.
Una vez tengas eso, te volveré a explicar cómo situar los datos (de hecho ya te lo expliqué anteriormente, pero mejor ves paso a paso).
Saludos.
David Cortés Braña
disculpa la tardanza en responder pero tengo problemas con mi conexion, ya he avanzado un poco en en lo que necesito mas aun no he colocado nada dentro del horario
http://iutcojeda.co.cc/une/inforprofe1.php?codigo=20
eso es lo que llevo hasta ahora, lo codigos que muestra son las materias que da ese profesor y deben de ir asignadas en su respectivo fila y columna dentro del horario
Hola,
si esas materias están ordenadas como te dije, ahora debes hacer un bucle para construir la tabla.
En el bucle colocas el horario y luego lees una materia. Si corresponde a ese horario y a ese día (lunes) la imprimes. Si es de otro día, ejecutas una función o un pequeño bucle que 'salte' los días hasta el que sea el adecuado.
Por ejemplo, estás a las 8:30 del lunes y lees una materia de las 8:30 del jueves: el minibucle tiene que imprimir las casillas del martes y el miércoles en blanco, y luego la materia en el jueves.
En el minibucle has de tener en cuenta que si la materia es de otro horario deberás también cambiar de fila al final de la semana.
Cuando acabes el bucle principal lo tendrás todo en su lugar.
Saludos.
David Cortés Braña
Entiendo de la forma que lo explicas pero no se como usar el bucle, se usar el while solo para anexar datos a una tabla, pero no se como hacer para que salte si no va en esa casilla
Hola,
simplemente en el bucle has de calcular primero los días que faltan para la próxima materia. Usa date("w", $fecha) para saber a qué día de la semana corresponde.
'Saltar las casillas' no es más que imprimir las etiquetas correspondientes a una casilla en blanco. Es decir
<td> </td>
Tantas veces como casillas quieras saltar dentro de la misma línea. Y para saltar de línea
</tr>
<tr>
Esto es puro HTML de una tabla.
Lo que estás haciendo es 'construir la tabla' a medida que insertas datos o casillas en blanco.
Saludos.
David Cortés Braña
Ok voy a probar la forma que me dices y te aviso
Bueno primero disculpa por haberme extendido tanto en la pregunta, pero de verdad se poco y quiero aprender.
Me he dado cuenta hace un momento de que en la tabla que manejo aparecen 2 columnas que son las que necesito llamadas
hora1 ! horas1 ! Horario1
  101 ! 2 ! Día: Lunes Hora: 7:30am a 8:50am
Y lo que quiero meter allí como he dicho anteriormente es cod_mat, hora1 significa el día de la clase y la hora en que comienza ej: todos los que empiezan 1xx son lunes, 2xx son martes, 3xx son miércoles etc, horas1 significa las horas que van a dar la clase (cada hora representa 40 minutos)
Intento crear el horario recorriendo como me dices pero de verdad no me sale pero nada
Hola,
Pues no entiendo porqué no te sale: coges el primer dato, miras el primer dígito de hora1. Si és 1, imprimes cod_mat, si és 3, ejecutas el minibucle 3-1= 2 veces para poner casillas vacías en lunes y martes, imprimes cod_mat el miércoles.
Y otra vuelta de bucle. Si ahora el primer dígito de hora1 es menor, por ejemplo 2, quiere decir que has de 'acabar la línea de la hora' y por lo tanto, debes llenar 5-3 = 2 espacios blancos, poner el salto de línea y un espacio blanco para el lunes.
Lo primordial es que los registros estén en el orden que te indiqué.
Explica qué parte no sabes hacer de esto.
Saludos.
David Cortés Braña
La parte que no se es hacer el bucle como tal, no se si lleva una condición, como te dije anteriormente estoy en cero en este tipo de cosas
Hola,
a ver, deberías saber cómo hacer un bucle. Las dos órdenes fundamentales de la programación son los bucles y las condiciones.
Si no sabes, quizás te debas mirar antes un tutorial de PHP como:
http://tutorialphp.net/
Has de poder crear un bucle que recorra el conjunto de resultados que has extraído de la base de datos y aplicar las condiciones necesarias para hacer lo que te he mencionado anteriormente.
Saludos.
David Cortés Braña
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje

Más respuestas relacionadas

¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema PHP o hacer tu propia pregunta: