EN RESUMEN LO QUE HACE ES Y AL FINAL MI GRAN DUDA!!!
1.- MOSTRARME LOS CURSOS QUE EL ALUMNO TIENE DISPONIBLE PARA MATRICULARSE...
2.- MEDIANTE UN CHECK EL ALUMNO ELIGE LOS CURSOS EN LOS QUE QUIERE MATRICULARSE
3.- UNA VEZ ELEGIDO LOS CURSOS MEDIANTE UN SUBMIT MUESTRO LOS CURSOS QUE HA ELEGIDO EN OTRO PHP(seleciona2.php)
Y ESTOS A SU VEZ ME MUESTRAN LOS HORARIOS DE LOS CURSOS QUE HA ELEGIDO ..LA PREGUNTA QUE TENGO ES COMO PUEDO HACER PARA
VALIDAR LOS HORARIOS QUE TIENEN LOS DIFERENTES CURSOS QUE ME DE UN HECHO indicandome que tales cursos tienen cruces de
horarios SIMPLEMENTE ESO VALIDAR LOS HORARIOS DE LOS CURSOS
PASARE A EXPLICARLES MI PROBLEMA..AQUI TODO EL PROCEDIMIENTO PARA QUE SE ME ENTIENDA...
//estrucutra de la tabla que contiene los codigos de los cursos que el alumno tiene para inscribirse
//ojo que un alumno no va a llevar todos los cursos puede que si y puede que no... depende del ciclo
CREATE TABLE alumatri (
codalu
codcur1 char(10)codcur2 ""
codcur3 ""
codcur4
codcur5
codcur6
codcur7
codcur8
codcur9
codcur10
//tabla como se muestra via php(seleciona1.php)
AFA534 Historia de la Arquitectura 4 4 check
AFA107 Taller de Diseño 7 8 check
AFA215 Seminario de Urbanismo 3 check
AFA325 Seminario de Construcción 3 check
AFA511 Bases y Metodología del Trabajo de Intectual 2 check
AFA223 Desarrollo de Areas Urbanas 2 check
AFA711 Fotografía y Cine 1 check
la primera columa son los cursos en los que el alumno esta inscrito(AFA534,AFA107...)ylo saco de alumatri(tabla...ARRIBA)
la segunda columa el nombre de curso l saco de otra tabla
la tercera es el credito que tiene el curso lo saco de otra tabla
la cuarta el check es para que el alumno eliga el cursos en el que desea iscribirse
<input type=checkbox value=nombre[] name=$Ralu[$i]>
$nombre es el nombre de un arreglo de checks
$Ralu[$i] es el codigo de los cursos que tiene el alumno
$sql = SELECT * FROM alumatri20032 where codalu=''
$Ralu = mysql_fetch_aray($sql)
//desde 1 por que uno desde ahi arranca los codigos del curso del alumno(alumatri) hasta la cantidad de cursos que el tenga
<form method=post action=selecciona2.php>
for($i=1;$i<count($Ralu); $i++) {
if (!empty($Ralu[$i])) {
require("../sql/sentenciasSql.php");
echo"
<table border=1>
<tr>
<td>$Ralu[$i]</td>
<td width=300>$Rcurri[nomcur]</td>
<td >$Rcurri[credcur]</td>
<td><input name=nombre[] type='checkbox' value=$Ralu[$i]></td>
</tr>
</table>
"; }
}
</form>
una vez que seleciono mediante el check los cursos que el alumno quiera via post lo mando a selecciona2.php aqui es donde
tengo el problema me han pedido que valide los horarios de los cursos que el alumno ha marcado con el check
//seleciona2.php
for ($i=0; $i<count($nombre); $i++) { //$nombre es el name del check
echo "<br>$nombre[$i] <br>"; //me va a botar el codigo o codigos de los cursos que ha marcado(check)
require("../fusion.php"); //conexion
require("../sql/Sql_horario.php"); //sentecia sql
echo "aqui comienza los Horarios<br>";
//--->quita los campos que no tienen horario
$filtrado = array_filter($Rhorario,"caracter"); //filtar este caracter "---" mediante function caracter
for ($x=0; $x<$noX; $x++) {
echo $filtrado[$x] . " "; //bota horarios
}
}
//tabla horario
CREATE TABLE horario (
codcur //el cod del curso
hora1 ""
hora2 ""
hora3
hora4
hora5
hora6
hora7
hora8
hora9 char(3)
//data de ejemplo que contiene horario
AFA704,l4,l5,---,---,---,---,---,---,---,---
donde l4 es lunes 4ta hora, l5 = lunes 5ta hora y asi para todos los dias pero solo hay hasta la 10(decima hora) por eso solo
hay hora10 como tope
donde "---" es una hora en el que el curso no tiene nada
//sentencia sql
select hora1,hora2,hora3,hora4,hora5,hora6,hora7,hora8,ho ra9,hora10 from horario where codcur='$nombre[$i]' ";
$nombre[$i]// es el nombre del check que a elegido por eso esta dentro del for
//bota horarios
$filtrado[$x] aqui me va a botar el horario de el o los cursos que se han elegido en seleciona1.php mediante el check
por ejemplo si eligo estos 2 cursos
//seleciona1.php
AFA534 Historia de la Arquitectura 4 4 check
AFA107 Taller de Diseño 7 8 check
//selecioan2.php va a botar esto
AFA534 //codigo
aqui comienza los Horarios
j8 j9 j10 j11
AFA107
aqui comienza los Horarios
l7 l8 l9 i7 i8 i9 v7 v8 v9 v10
AHORA LA PREGUNTA DEL MILLON SE ME PIDE QUE VALIDE LOS HORARIOS QUE SE CRUZAN POR EJEMPLO EN LOS DOS CURSOS ANTERIORES QUE HE
PUESTO COMO EJEMPLO COMO COMPARO ESOS DOS ARREGLOS PARA QUE ME INDIQUE MEDIANTE UN ECHO O ALGO ASI ...QUE LOS HORARIOS NO SE
CRUZAN EJEMPLO
CURSO1 j8 j9 j10 j11
CURSO2 l7 l8 l9 i7 i8 i9 v7 v8 v9 v10
EN EL CURSO1 ME INDICA QUE TIENE horarios en LOS DIAS
jueves 8va hroa(j8) //elemento del arreglo $filtrado[$x]
jueves 9na hroa(j9) (UNA HORA DE LA CLASE)
jueves 10ma hora(j10)
jueves 11va hora(j11)
EN EL CURSO2
lunes 7ma hora(l7) (UNA HORA DE LA CLASE)
lunes 8va hora(l8)
lunes 9na hora(l9)
miercoles 7ma hora(i7)
...
..
jueves 11va hora(j11) <---------- AQUI HAY UN CRUZE DE HORARIO!!! //EJEMPLO SE REPITE EN AMBOS CURSOS
todo eso ambos es un arreglo $filtrado[$x] TENGO QUE COMPARAR SI HAY ALGUN CRUZE DE HORARIO DE LOS CURSOS...
TENGO QUE COMPARAR TODOS LOS HORARIOS DE TODOS LOS CURSOS QUE EL ALUMNO HA ELEGIDO(seleciona1.php) Y que se visualizan
en(seleciona2.php) .VER EN QUE CURSOS SE REPITE LA MISMA HORA PARA ASI BOTAR UN MENSAJE INDICANDOLE AL USUARIO QUE TIENE
CRUZE DE HORARIO
ESTUVE PROBANDO VARIAS FORMAs COMO SUMAR EL ARREGLO(Array_merg) BUSCAR EN EL ARREGLO(in_array) CON RESULADOS POCOS
SATISFACTORIOS...ASI QUE ME ANIME A ESCRIBIR PARA VER SI ALGUIEN POR AHI TIENE LA SOLUCION A ESTE GRAN PROBLEMA!
ESPERO QUE SE ME HAYA ENTENDIDO!!! GRACIAS POR LEER ESTE MENSAJE Y POR SU FUTURA AYUDA!!!