Comunidad de diseño web y desarrollo en internet online

Select utilizando varios campos

Citar            
MensajeEscrito el 07 Abr 2011 03:32 am
Quiero hacer una busqueda en la base de datos utilizando varios campos, como por ejemplo la tabla tiene un campo de "nombre", "numero" y "agente"

Tengo un form que tiene 3 textfields para ingresar valores y se haga la busqueda de esta manera

Código PHP :

<form id="form1" name="form1" method="POST" action="resultados.php">
            <p>
              <label for="cliente">Numero Cliente:</label>
              <input type="text" name="cliente" id="cliente" />
              <label for="nombre"><br />
                Nombre Cliente:</label>
              <input type="text" name="nombre" id="nombre" />
              <label for="agente"><br />
                Nombre Agente:</label>
              <input type="text" name="agente" id="agente" />
              <label for="zona"><br />
              </label>
            </p>
            <p>
              <input type="submit" name="buscar" id="buscar" value="Buscar" />
            </p>
          </form>


Como ven el method es POST y llama a resultados.php

el select que intento es el siguiente

Código PHP :

$cliente= $_POST['cliente'];
$nombre= $_POST['nombre'];
$agente= $_POST['agente'];

$agentetrim= trim($agente);
$nombretrim= trim($nombre);


$query_resultados = "SELECT clientes.CLIENTE, clientes.NOMBRE, clientes.AGENTE, clientes.ORBIT, clientes.PREVENTA, clientes.DISPLAYDIA, clientes.DISPLAYDISPLAY, clientes.DESPACHOSROJA, clientes.DESPACHOSBLANCA, clientes.ZONA, clientes.PRECIO FROM clientes WHERE NOMBRE LIKE '%".$nombre."%' OR AGENTE LIKE '%".$agente."%'";


Cuando intento esto me trae todos los registros de la tabla pero si intento de esta forma solo con "nombre" si trae solo los que tienen ese nombre

Código PHP :

$query_resultados = "SELECT clientes.CLIENTE, clientes.NOMBRE, clientes.AGENTE, clientes.ORBIT, clientes.PREVENTA, clientes.DISPLAYDIA, clientes.DISPLAYDISPLAY, clientes.DESPACHOSROJA, clientes.DESPACHOSBLANCA, clientes.ZONA, clientes.PRECIO FROM clientes WHERE NOMBRE LIKE '%".$nombre."%';


No se que estoy haciendo mal, necesito ayuda porfa!!!
:(

Por pelonms7

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 07 Abr 2011 03:53 am
Y por que no generas la consulta de manera '''dinamica'''
Por ejemplo:


Código PHP :


$sql='Select * from clientes where idclientes is not null';

if($_ṔOST['nombre']!=""){

$sql=' and nombre like "%'.$_POST['nombre'].'%"';

}

if($_ṔOST['agente']!=""){

$sql=' and agente like "%'.$_POST['agente'].'%"';

}
if($_ṔOST['cliente']!=""){

$sql=' and cliente like "%'.$_POST['cliente'].'%"';

}

mysql_query($sql);




PD: Lo de idcliente is not null, es una pilleria, para poder ir completando los where.
Saludos, espero haber sido de utilidad :)

Por sebifrost

61 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Abr 2011 01:42 pm
Excelente voy a intentarlo y te cuento como me fue.

Muchas gracias por tu respuesta.

Por pelonms7

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Abr 2011 03:30 am

sebifrost escribió:

Y por que no generas la consulta de manera '''dinamica'''
Por ejemplo:


Código PHP :


$sql='Select * from clientes where idclientes is not null';

if($_ṔOST['nombre']!=""){

$sql=' and nombre like "%'.$_POST['nombre'].'%"';

}

if($_ṔOST['agente']!=""){

$sql=' and agente like "%'.$_POST['agente'].'%"';

}
if($_ṔOST['cliente']!=""){

$sql=' and cliente like "%'.$_POST['cliente'].'%"';

}

mysql_query($sql);




PD: Lo de idcliente is not null, es una pilleria, para poder ir completando los where.
Saludos, espero haber sido de utilidad :)



Grande maestro funciono excelente, muchas gracias por tu ayuda

Por pelonms7

33 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.