Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/05/2006, 01:04
pablomola
 
Fecha de Ingreso: agosto-2003
Mensajes: 43
Antigüedad: 20 años, 8 meses
Puntos: 0
En realidad eso no iba a funcionar bien ya que habría un carácter de más
La query quedaría asi
Código PHP:
$sql="select * from tabla where and campo1 like '$_POST[campo1]' and campo2='$_POST[campo2]'"
Esto creará un mensaje de error
Podemos hacer lo siguiente
Código PHP:
//Iniciamos la consulta
$sql="select * from tabla";
//Ahora veremos que campos ha rellenado
if($_POST[campo1]!="" || $_POST[campo2]!="") {
//Añadimos la clausula where
$sql.=" where";
//Creamos una variable que tendrá los campos limitadores de la búsqueda
$anadir="";
//Ahora vamos campo a campo
if($_POST[campo1]!="") {
$anadir.=" and campo1 like '$_POST[campo1]'";
}
if(
$_POST[campo2]!="") {
$anadir.=" and campo2 like '$_POST[campo2]'";
}
//Ahora eliminamos el primer and
$anadir=substr($anadir,4,strlen($anadir)-1);
}
//Y finalmente dejamos construida la query
$sql.=$anadir;
//Y realizamos la consulta
$result=mysql_query($sql); 
En caso de ser muchos campos, puede ser interesante crear un array con todos los campos post y recorrerlo mediante foreach
__________________
pwmcorg