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

Consulta base de datos dinámica según parámetros

Vamos a ver un ejemplo de como hacer una consulta a la base de datos dinámica según parámetros enviados es decir podemos buscar por un parámetro o por varios según la cantidad de campos enviados a la consulta.


Código de ejemplo:
<?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");

?>
Ejemplo
5
Puntos
3760
Visitas
0
Resp
Por alber hace 108 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate