Cita:
Iniciado por dashtrash
Las queries dentro de bucles siempre hacen daño..
Código PHP:
Ver original$materias_elegidas = array("0343", "9563", "0435", "0394"); $listaMaterias="('".implode("','",$materias_elegidas)."')"; $consulta = mysqli_query($conexion, "SELECT requisito FROM materias WHERE materia in $listaMaterias and (requisito IS NOT NULL and requisito NOT IN $listaMaterias)");
Si esa consulta devuelve filas, es que hay un error.Modificar la query para que de los nombres de las asignaturas es sencillo, si es necesario.
Saludos!!!! Que tengo que modificar para que visualice el nomnre de las asignaturas... mi codigo esta asi pero no arroja nada aun seleccionando antes
:) desde ya gracias
Código PHP:
<?php
include 'globals.php';
session_start();
$id_alumno = $_SESSION['owner_session_id'];
$q_id_alumno = quoted($id_alumno);
if(!isset($_POST['clases'])){
header("Location: show_oferta_academica.php");
}
$clases = $_POST['clases'];
encabezado("Comprobar carga");
navegacion();
$conexion = solicitarConexion();
$errores = array();
$creditos_totales = 0;
$horas_teoria_totales = 0;
$horas_practica_totales = 0;
echo "<table>
<tr>
<td>Clave</td>
<td>Profesor<br>Materia</td>
<td>Grupo</td>
<td>Horas Teoria</td>
<td>Horas Practica</td>
<td>Créditos</td>
</tr>";
foreach($clases as $clase){
$q_clase = quoted($clase);
$listaMaterias="('".implode("','", $clases)."')";
$consulta = "SELECT requisito, NOMBRE FROM materia WHERE id_materia in $listaMaterias and (requisito IS NOT NULL and requisito NOT IN $listaMaterias)";
$resultado = @mysql_query($consulta, $conexion) or die(mysql_error());
if (mysql_num_rows($resultado)) {
$resultado = mysql_fetch_array($consulta);
$requisitos[] = $resultado["requisito"];
mysql_free_result($resultado);
}
}
for ($i = 0, $limite = count($listasMaterias); $i < $limite; $i++) {
$clave = array_search($listasMaterias[$i], $requisitos);
if ($clave !== FALSE)
echo $requisitos[$clave] . " es un curso requisito de " . $materias_elegidas[$i];
}
$query_clase = "SELECT M.ID_MATERIA, M.CLAVE, M.NOMBRE, M.H_TEORIA, M.H_PRACTICA, M.CREDITOS, (SELECT G.NOMBRE FROM GRUPO AS G WHERE G.ID_GRUPO = C.ID_GRUPO) AS NOMBRE_GRUPO, (SELECT CONCAT(P.TITULO, ' ', P.NOMBRE, ' ', P.P_APELLIDO, ' ', P.S_APELLIDO) FROM PROFESOR AS P WHERE P.ID_PROFESOR = C.ID_PROFESOR) AS NOMBRE_PROFESOR FROM MATERIA M, CLASE C WHERE M.ID_MATERIA = C.ID_MATERIA AND C.ID_CLASE = $q_clase";
$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
$clase = mysql_fetch_array($resultado);
echo "<tr>
<td>".$clase['CLAVE']."</td>
<td>".$clase['NOMBRE']."<br>".$clase['NOMBRE']."</td>
</tr>";
}else{
echo "<tr><td colspan=6>No seleccionó materias</td></td></tr>";
}
echo "";
#Fin de tabla
echo "</table>";
piePagina();
?>