Foros del Web » Programando para Internet » PHP »

Ayudenme Porfavor!!!!!!!!!!!

Estas en el tema de Ayudenme Porfavor!!!!!!!!!!! en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 02/03/2004, 14:39
 
Fecha de Ingreso: diciembre-2003
Mensajes: 109
Antigüedad: 14 años
Puntos: 0
Exclamación Ayudenme Porfavor!!!!!!!!!!!

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] . "&nbsp;"; //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!!!
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 11:31.