Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Buscador múltiple avanzado en php

En el siguiente ejemplo podemos ver un buscador múltiple avanzado en php que ejecuta una consulta dinámica a la base de datos según los campos del formulario seleccionados:
<?php
//Creamos las variables
$consulta='';
$parametros='';

//Creamos el primer parametro en caso de que exista
if ($_POST['columna1']!='') $parametros.="columna1=".$_POST['columna1'].'&';
//Creamos el segundo parametro en caso de que exista
if ($_POST['columna2']!='') $parametros.="columna2=".$_POST['columna2'].'&';

//Dividimos los parametros
$porciones=explode('&',$parametros);

//Contamos la cantidad de parametros
$cantidad=count($porciones)-1;

//Si hay mas de 1 parametro los unimos con AND para mysql
if ($cantidad>1){
for ($i=0; $i < $cantidad; $i++) {
    $consulta.= $porciones[$i].' AND ';
}
} else {
    $consulta.= $porciones[0].' AND ';
}

//Eliminamos el AND del final
$consulta = substr ($consulta, 0, strlen($consulta) - 4);

//Obtenemos algo como columna1=dato1 AND columna2=dato2
echo $consulta.'<br><br>';

//Pasamos los parametros dinámicos de $consulta despues del WHERE
$query_Consulta = sprintf("SELECT * FROM tabla WHERE $consulta");

?>
5
Puntos
2926
Visitas
3
Resp
Por alber hace 35 meses
Administrador
Respuesta #1
Hola, está súper bueno el código, me ayudó demasiado.
1
Puntos
Por Rob hace 34 meses
Principiante
Respuesta #2
me alegro de que te sirva Rob ;)
0
Puntos
Por alber hace 34 meses
Administrador
Respuesta #3
Muchas Gracias alber, me fue muy útil el código.
1
Puntos
Por Rover Jonathan hace 27 meses
Principiante
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate