Horario de Clases

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

2 Respuestas

Respuesta
1
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.
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
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.
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.
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).
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
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.
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
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.
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
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.
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
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.
Respuesta
-1
Ciertamente es muy fácil, pero no es lógico que te de la solución directamente, puesto que en dicho caso no aprenderías. Investiga la función date en la web www.php.net y verás todas las posibilidades que te da.
Cualquier otra duda, gustoso te la resolveré.
No estoy muy de acuerdo contigo, ya que las cosas que he preguntado y me han dado los código los he aprendido porque estudio el código, es la manera más practica para aprender para mi, yo se bastante de access y vba y lo aprendí gracias a códigos que veía, por otra parte ya con php he aprendido a hacer las consultas y colocar tablas con un whilecomo aparece en los pocos ejemplos que he hecho
www.iutcojeda.co.cc/une
Así que espero que me envíes un ejemplo si no igual, sea algo parecido, si no es mucho pedir
Si estoy en TodoExpertos es para ayudar a programadores noveles a curtirse en la ardua tarea de la programación web, que abarca varias tecnologías y lenguajes. Ser programador no es aprender a copiar y pegar códigos de otra gente, y la única forma de aprender es dejarse guiar por quien sabe o aprender por uno mismo.
Esperaba que al menos leyeses brevemente la ayuda de la función date() en PHP y que intentaras obtener la solución por tus propios medios. Una vez intentado, en caso de no avanzar te
ayudaría.
La verdad, no es mucho pedir, pero no, no te voy a enviar el código. Mi trabajo consiste precisamente en programar, y no suelo regalar mi trabajo.
Primero que nada también soy programador como te dije anteriormente, y segundo si llego a este medio donde hago una pregunta es porque no se ya que hacer, porque las cosas que se las hago y ya sin preguntar, también leo bastante ya que me gusta mucho, y si también leí lo de la función date(), puedes ver las ayudas que doy en access que no por ser programador me niego a ayudar de verdad a la gente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas