Sql

Hola experto mi pregunta es la siguiente necesito realizar consultas en php compuestas de varios filtros es decir el usuario elige de una lista por ejemplo, el país, el departamento, el municipio, su perfil y así sucesivamente.
Por cada filtro debe consultar sin necesidad de eligir el resto de filtros pero si elige más filtros la consulta se filtrara por los criterios indicados el caso es que no se como armar la sentencia php con sql que me concatene los criterios parciales o totales de búsqueda
La idea es que siempre se ejecute la misma consulta sin importar los criterios elegidos como lo tengo ahora ejecuto una consulta por cada filtro
Gracias por cualquier idea que me puedas dar.
Saludos
Respuesta
1
Creo que puedes usar así:
Asignas a cada variable el valor si es que lo tiene
Después revisas cada valor y si contiene un valor lo agregas a una variable si no tiene valor lo dejas en blanco y al final concatenas todos:
Por ejemplo las variables son:
$pais
$depto
$municipio
$perfil
if (!empty($pais))
$reg_pais = " and pais = $pais" ;
else
$reg_pais = "and 1";
if (!empty($depto))
$reg_depto = " and depto = $depto" ;
else
$reg_depto = "and 1";
y asi consecutivamente y el sql queda:
$sql = "select * from datos where 1 ".$reg_pais." ".$reg_depto........;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas