Ver Mensaje Individual
  #14 (permalink)  
Antiguo 21/05/2013, 16:10
Avatar de bulter
bulter
 
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 3 meses
Puntos: 20
Respuesta: buscador con 6 inputs como se haria?

Cita:
Iniciado por CMushroom Ver Mensaje
Bueno te pongo un ejemplo de lo que quieres hacer, ya solo adaptalo a tus datos, toma en cuenta que yo obtengo los datos de mas de tres tablas, por eso hago el join para la consulta ok espero te sirva cualquier duda

Código PHP:
if (isset($_POST["Matricula"]))//comprobar si se han rellenado los campos de el formulario y asignar a variable
    
{
    
$Matricula $_POST["Matricula"]; 
    }
if (isset(
$_POST["Licenciatura"])) 
    {
    
$Licenciatura $_POST["Licenciatura"]; 
    } 
if (isset(
$_POST["Semestre"]))
    {
    
$Semestre $_POST["Semestre"];
    }
if (isset(
$_POST["Grupo"])) 
    {
    
$Grupo $_POST["Grupo"]; 
    }
if (isset(
$_POST["Turno"]))
    {
    
$Turno $_POST["Turno"]; 
    }
if (isset(
$_POST["Sexo"])) 
    {
    
$Sexo $_POST["Sexo"]; 
    }                  

$criterios "";
if (isset(
$Matricula)) //armar query bajo criterios
    
{
    
$criterios .= "&& alumnos.IdAlumno = ".$Matricula." ";
    }
if (isset(
$Licenciatura))
    {
    
$criterios .= " && alumnos.ClaveLicenciatura = ".$Licenciatura." ";
    }    
if (isset(
$Grupo))
    {
    
$criterios .= " && alumnos.IdGrupo = ".$Grupo ." ";
    }
if (isset(
$Semestre))
    {
    
$criterios .= " && alumnos.IdGrupo = ".$Semestre." ";
    }
if (isset(
$Turno))
    {
    if(
$Turno==1)$Turno "Matutino";
    if(
$Turno==2)$Turno "Vespertino";
    
$criterios .= " && grupos.TurnoGrupo = '".$Turno."' ";
    }
if (isset(
$Sexo)) 
    {
    if(
$Sexo==1)$Sexo "Masculino";
    if(
$Sexo==2)$Sexo "Femenino";
    
$criterios .= " && alumnos.sexo = '".$Sexo."' ";
    }    

@
$consulta 
    SELECT *  
    FROM alumnos
            INNER JOIN creditos ON alumnos.IdAlumno = creditos.IdAlumno
            INNER JOIN licenciaturas ON alumnos.ClaveLicenciatura = licenciaturas.ClaveLicenciatura
            INNER JOIN grupos ON alumnos.IdGrupo = grupos.IdGrupo
            INNER JOIN cursos ON alumnos.IdAlumno = cursos.IdAlumno
            INNER JOIN examen_medca ON alumnos.IdAlumno = examen_medca.IdAlumno
    WHERE alumnos.IdAlumno = creditos.IdAlumno && alumnos.IdAlumno = cursos.IdAlumno && alumnos.IdAlumno = examen_medca.IdAlumno '
.$criterios.'
    '


No se si soy yo o que.. :D pero que os pasa con esos ifs ? en 60 lineas 40 ifs :O
La vulnerabilidad a sql injection no la menciono, por que estoy tratando de comprender por que poneis tantisimos IFs