PHP - consultas dinamicas

 
Vista:

consultas dinamicas

Publicado por german (15 intervenciones) el 14/03/2006 16:18:39
Como estan? mi consulta es la siguiente: quiero generar una consulta dinamica segun las opciones que seleccione el usuario, tengo 5 combobox que seran seleccionados por este, puede darse la posibilidad de que seleccione uno. dos, ninguno etc. La pregunta es, ¿como puedo a partir de su seleccion generar una consulta en SQL, guiandome a traves de los campos seleccionados?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:consultas dinamicas

Publicado por FiSiCo (403 intervenciones) el 15/03/2006 02:29:27
Algo asi si los combos no mandan nada spues queda vacio si manda algo pues se pone el campo igual al valor enviado

if($_POST["combo1"]!="")
{
$combo1="combo1=".$_POST["combo1"];
}
else{
$combo1="";
}

if($_POST["combo2"]!="")
{
$combo2="AND combo2=".$_POST["combo2"];
}
else{
$combo2="";
}
....
SELECT * FROM mitabla WHERE $combo1 and $combo2 and $combo3 and $combo4 and $combo4
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:consultas dinamicas

Publicado por german (15 intervenciones) el 15/03/2006 15:22:47
Ya habia probado la solucion que me presentas, el problema surge cuando el usuario selecciona el combo2 y no el combo1 me queda un ANd sobrando, algo asi:

SELECT * FROM mitabla WHERE and $combo2

No se como insertar los and's según lo seleccionado por el usuario, agardeceria mucho una idea, muchas gracias.

doppler
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:consultas dinamicas

Publicado por FiSiCo (403 intervenciones) el 15/03/2006 19:41:18
if($_POST["combo1"]!="")
{
$combo1=" combo1=".$_POST["combo1"];
$x=1;
}
else{
$combo1="";
$x=0;
}

if(($_POST["combo2"]!="") &&($x==1))
{
$combo2=" AND combo2=".$_POST["combo2"];
}
if(($_POST["combo2"]!="") &&($x==0))
$combo2=" combo2=".$_POST["combo2"];
$x=1
}
else{
$combo2="";
$x=0;
}
...

con x=1 quiere decir que atras hay un combo con un valor si no pues no se pone en AND y asi lo haces con los demas

espero te sirva de lago
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar