Hola, estoy trabajando en un pequeño proyecto y necesito generar por medio de php un "horario" academico, para esto tengo en una base de datos una tabla que contiene los cursos que se dictan en mi universidad este ciclo, asi como los horarios de cada uno (dia, hora,salon). Hago una consulta a una base de datos que me devuelve la informacion de los horarios de los cursos que llevare, un ejemplo de lo que me devolveria (en palabras) : Lunes, 9-11am curso 1, Martes 8-10am, curso 2, Martes 1-2pm curso3, etc. La idea es que el resultado sea algo como esto (asumiendo que los * son espacios en blanco y que la tabla continua hasta las 10pm) :
Horas| LUNES |MARTES|MIERCOLES|JUEVES|VIERNES|SABADO
08-09|********|Curso 2|
09-10|Curso1|Curso 2|
10-11|Curso1|
11-12|
12-13|
13-14|********|Curso3 |
Obs:
algo evidente, pero es lo que complica el asunto: no es una tabla del tipo en que se tienen los datos completos, sino que solo algunas celdas contienen datos, y eso depende de la consulta a la base de datos (segun que cursos elijo consultar).
Tengo 2 preguntas:
1. Que metodo podria utilizar? lo que he hecho hasta el momento es definir un arreglo bidimensional (simulando una tabla) inicializar cada posicion en "" (vacio), luego agregar en la posicion correcta la informacion que recibi la base de datos, y por ultimo, lo imprimo en pantalla utilizando bucles. Otra opcion que se me ocurrio es la de tener una plantilla del horario ya escrita, generar nodos que contengan la informacion de los cursos y por medio del dom ir insertandolas en la plantilla del horario (estoy investigando sobre el manejo del dom con php), no se cual seria el mejor metodo.
2. Quiero estilizar la tabla con css, asi que buscando diseños para inspirarme (XD), encontre que tambien se podian diseñar tablas utilizando divs y css, asi que tome ese metodo como otra alternativa, claro que generar una tabla por medio de divs dinamicamente suena mucho mas complicado, por el tema de definir ids y clases en los elementos para poder usar el css, posicionar cada div en en lugar correcto y el hecho de que la mayor parte de tabla esta vacia.
En conclusion, para un problema asi que algoritmo seria mas eficiente?, y seria conveniente usar divs + css o tablas html?
Saludos y gracias de antemano, sobretodo por tomarse el trabajo de leer todo esto.