Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

no puedo hacerlo!!! necesito ayuda!!!!!

Estas en el tema de no puedo hacerlo!!! necesito ayuda!!!!! en el foro de Bases de Datos General en Foros del Web. Asi comienzo a explicar este problema comienzo con una sentencia sql $sql = select codcurso1...codcurso10 from curso where codalu=c001 //10 campos $rowsql = mysql_fetch... for ...
  #1 (permalink)  
Antiguo 03/03/2004, 13:02
 
Fecha de Ingreso: diciembre-2003
Mensajes: 109
Antigüedad: 20 años, 4 meses
Puntos: 0
no puedo hacerlo!!! necesito ayuda!!!!!

Asi comienzo a explicar este problema comienzo con una sentencia sql


$sql = select codcurso1...codcurso10 from curso where codalu=c001 //10 campos
$rowsql = mysql_fetch...

for ...$i<count($rowsql)... {

$sqlcur = select hora1...hora10 from horario from codcur =$rowsql[$i] //10 campos
$Rcur = mysql_fetch...

for ...$ii<count($Rcur)... {
//aqui me muestra el horario de los cursos
echo $Rcur[$ii]

}


}



la data de horario es mas o menos asi

AFA111 //CODCUR
l7 //hora1
l8 //hora2
l9 //hora3
i7
i8
i9
v7
v8
v9
v10 //hora10


//$Rcur[$ii] me va a mostrar cada hora de cada curso
AFA111 l7 l8 l9 i7 i8 i9 v7 v8 v9 v10

AFA121 l7 l8 l9 i7 i8 i9 v7 v8 v9 v10

AFA131 l7 l8 l9 i7 i8 i9 v7 v8 v9 v10

AFA141 l7 l8 l9 i7 i8 i9 v7 v8 v9 v10



lo que se me pide es que valide si alguna hora de algun curso que el alumno tiene se produce un cruze de horario o sea si el curso se dicta a la misma hora que me salga un echo diciendo cruze de horarios

//validacion de horario es lo que se me pide
ESPERO QUE SE ME ENTIENDA...
  #2 (permalink)  
Antiguo 03/03/2004, 14:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Muevo tu pregunta al foro de Base de datos para que te orienten sobre consultas sobre fechas y funciones afines.

Sólo te pido que indiques en que formato trabajas tus fechas. Y que expongas el modelo de datos de esa tabla(s) de tu BD implicadas .. El código "PHP" ya vendrá despues .. primero necesitas crear tu sentencia SQL correcta.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 03/03/2004, 14:05
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Pero, ¿que valores y que significado tienen los campos horarios?

No se, asi de principio iria metiendo en un array las horas de cada curs, mirando con in_array() si el valor ya esta introducido. Si ya estaba introducido, cruze de horarios.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 03/03/2004, 14:19
 
Fecha de Ingreso: diciembre-2003
Mensajes: 109
Antigüedad: 20 años, 4 meses
Puntos: 0
primero voy a responder la ultima pregunta....


AFA111 //CODCUR
l7 // lunes 7ma hora
l8 // lunes 8va hora
l9 // lunes 9na hroa
i7 //miercoles 7ma hora
i8 //miercoles 8va hroa
i9 //miercoles 9na hora
v7 //viernes 7mahora
v8 //vierens 8va nora
v9 //viernes 9na hroa
v10 //viernes 10ma hroa
y asi para todos los dias j=jueves m=martes etc
y las horas comienzan a las 8 am
osea 1ra hora sera 8am
osea 2da hora sera 9am
osea 3ra hora sera 10am
osea 4ta hora sera 11am
...


y pues la primera pregunta dice FECHAS?? no hay ningun campo de tipo fecha

y el verdadero asunto es asi
el alumno via login y pass entra a una pagina uno.php(x ejem)

en la cual le muestra los cursos en los que se va a matricular(el primer for) los elge mediante un check el cual lleva como value rowsql[$i] (arriba ,sql) y me muestra los horarios que tiene en un segundo php (dos.php) este es el segundo for espero que ahora si se me entiende ahi es donde tengo que validar si es que existe algun cruze de horario
  #5 (permalink)  
Antiguo 03/03/2004, 14:57
 
Fecha de Ingreso: diciembre-2003
Mensajes: 109
Antigüedad: 20 años, 4 meses
Puntos: 0
http://oerafaua.webcindario.com/cursos/selecciona.php

aqui esta la url para que me puedan ayudar ...y me entiendan como es la cosa
  #6 (permalink)  
Antiguo 03/03/2004, 15:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
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.
  #7 (permalink)  
Antiguo 03/03/2004, 15:51
 
Fecha de Ingreso: diciembre-2003
Mensajes: 109
Antigüedad: 20 años, 4 meses
Puntos: 0
si la tabla ya no las puedo tocar esas tablas me las pasan desde un sistema de fox y tengo trabajar con lo que me dan...

y lo de explode segun el manual devuelve una matriz de una cadena y yo no tengo cadenas cada hora de un cursos es un puedes verlo en la sentencia sql que hago para sacar las horas de los cursos
$sqlcur = select hora1...hora10 from horario from codcur =$rowsql[$i] //10 campos

una vez mas aqui esta la ruta oerafaua.webcindario.com/cursos/selecciona.php para que vean como es este "ROLLAZO" y me ayudan a solucionarlo...
  #8 (permalink)  
Antiguo 04/03/2004, 05:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por què no pones el modelo de datos de tu BD (estructura) de las tablas que usas? ..

Yo todavía no entiendo como organizas tus datos si me muestras cunsultas SQL a medias .. Se ve más claro si pusieras la estructura de tus tablas implicadas (y si pones algunos datos de ejemplos pero como SQL (un DUMP de tu BD de algunos datos) hasta a lo mejor alguien podría tomarlo y probar alguna consulta SQL en su administrardor de Msyql o probar hacer alguna implementación con código.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:32.