Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/03/2004, 15:09
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años
Puntos: 129
Yo usaría más tablas SQL para guardar las relaciones entre dia/semana hora así te sería más optimo gestionar estos rangos y calcular intersecciones.

El objetivo es "normalizar" mas tu modelo de datos para poder realizar consultas SQL y no usar programación por médio, con lo cual mejoramos el rendimiento de la aplicación (en algunos casos).

Por ejemplo:

tabla Cursos:
id_curso
codigo_curso
descripción
blabla

tabla horas:
id_hora
cod_hora
descripcion_si_corresponde

tabla dias_semana:
id_dia_semana
cod_dia_semana
descripcion_si_corresponde

Y la más importante .. la tabla tipo "matiz" que va a relacionar a tus N cursos con sus N dias de la semana que puede tener ese curso y N horarios.

tabla matriz:
id_matriz
id_curso
id_hora
id_hora_semana

Lo demás son consultas SQL algo más complejas de lo común es cierto (hay que meterse con INERT JOIN y demás ..) pero tendrías una BD bien normalizada y sin información redundante.

Pero, como este no es tu caso (de todas forma deberías pensarte el tema de "normalización") .. si dices que un sólo campo guardas ese "codigo" del curso y sus horarios .. deberás "desglosarlo" para poder compararlo . .por ejemplo como te comentó josemi con arrays pero .. ahí vas a tener una pequeña rutina "recursiva" que te podría consumir excesivos recuros y tiempo de ejecución ..

Por mi parte te aconsejo que te replantees tu modelo de datos y uses MAS SQL.

Si quires replantearte tu modelo de datos (supongo que a estas alturas no lo haras ?¿) .. este es el foro adecuado para decidir cual modelo de datos te podría adaptar mejor a tus necesidades.

Si quieres ir probando el tema de "arrays" en PHP .. ves mirando la función explode() al caracter " " (espacio) para quedarte con ese grupo de "codigos" de tus horarios (l1, v9, m3 .. etc).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.