Ver Mensaje Individual
  #22 (permalink)  
Antiguo 09/01/2014, 19:15
Avatar de Briss
Briss
 
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Ajustar codigo

Cita:
Iniciado por Alexis88 Ver Mensaje
Al hacerlo así:

Código PHP:
Ver original
  1. $listaMaterias="('".implode("','", $clases)."')";
  2. $consulta = mysqli_query($conexion, "SELECT requisito FROM materias WHERE materia in $listaMaterias and (requisito IS NOT NULL and requisito NOT IN $listaMaterias)");

Ya no hay necesidad de utilizar un bucle para recorrer el array $clases y verificar el tema de la existencias de cursos requisito. Eso es si quieres trabajar eficientemente, sin embargo, puedes utilizar la primera forma que te indiqué.

Saludos
Gracias Alexis si quito mi bucle seria asi pero aun asi despues de seleccionar y pasar a este archivo no muestra nada ... (deberia mostrar las materias seleccionadas previamente)
Código 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());
        
    }

$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();
    
?>