Codigo final... asi muestra lo q selecciono pero siempre manda a inscribir... aun si selecciono una materia sin su requisito... ejemplo taller de lectura II
Código PHP:
foreach($clases as $clase)
$q_clase = quoted($clase);
$listaMaterias="('".implode("','", $clases)."')";
echo $listaMaterias;{
$consulta = "SELECT r.NOMBRE,r.id_materia,m.NOMBRE,m.id_materia FROM materia2 m LEFT JOIN materia2 r ON m.requisito=r.id_materia WHERE m.id_materia IN $listaMaterias AND (r.id_materia IS NOT NULL AND r.id_materia NOT IN $listaMaterias)";
$resultado = @mysql_query($consulta, $conexion) or die(mysql_error());
}
$query_clase = "SELECT m.NOMBRE,m.id_materia FROM materia2 m WHERE m.id_materia IN $listaMaterias";
$result_clase = @mysql_query($query_clase, $conexion) or die(mysql_error());
$filas = mysql_num_rows($result_clase);
if($filas != 0){#Algo va realmente mal si las filas son 0
while ($clase = mysql_fetch_array($resultado)) {
echo
"<tr>
<td>".$clase["CLAVE"]."</td>
<td>".$clase["NOMBRE"]."</td>
</tr>";
}
}
else{
echo "<tr><td colspan=6>No seleccionó materias</td></td></tr>";
}
echo "";
#Ofrecer inscripción o corregir
foreach($errores as $clase_clave => $error){
echo "<tr>
<td>$clase_clave</td>
<td colspan=5>$error</td>
</tr>";
}
if(count($errores) == 0){ #No hay errores
echo "<tr><td colspan=6><form name=\"operacion\" method=\"post\" action=\"registrar_carga.php\">";
#Si quisiese enviarlos por post, tendria que hacer este truco
foreach($clases as $clase){
echo "<input type=\"hidden\" value=\"$clase\" name=\"clases[]\">";
}
echo "<input type=\"hidden\" value=\"$horas_teoria_totales\" name=\"total_teoria\">
<input type=\"hidden\" value=\"$horas_practica_totales\" name=\"total_practica\">
<input type=\"hidden\" value=\"$creditos_totales\" name=\"total_practica\">";
echo "<input type=\"submit\" value=\"Inscribir\"></form></td></tr>";
}else{
#Deprecated No se pueden enviar un arreglo.
echo "<tr><td colspan=6><form name=\"operacion\" method=\"post\" action=\"show_oferta_academica.php\">
<input type=\"hidden\" value=\"$errores\" name=\"errores\">
<input type=\"submit\" value=\"Corregir\"></form></td></tr>";
}
echo "";
#Fin de tabla
echo "</table>";