Ver Mensaje Individual
  #11 (permalink)  
Antiguo 06/05/2013, 20:57
hans2488
 
Fecha de Ingreso: septiembre-2010
Mensajes: 64
Antigüedad: 13 años, 8 meses
Puntos: 5
Pregunta Busqueda por varios campos no muestra resultados

Buenas amigos tengo un buscador pero el problema es que me busca de cualquier campo, tengo 3 campos id, nombre,costo. Si quiero buscar un item segun el nombre alicate me muestra todos los q tienen ese nombre, pero si quiero buscar alicate con precio de 45, el buscador solo me muestra todos los producto con ese precio pero sin el item alicate, y si busco por id lo mismo.

En pocas palabras el buscador funciona bien si solo busco por un campo, ya sea id, nombre o costo, pero si quiero buscar usando los 3 campos me muestra cosas diferentes.
buscar.html
Código HTML:
<html>
<body>
<form id="form1" name="form1" method="POST" action="buscador.php">
            <p>
              <label for="cliente">Numero Id:</label>
              <input type="text" name="id" id="id" />
              <label for="nombre"><br />
                Nombre Nombre:</label>
              <input type="text" name="nombre" id="nombre" />
              <label for="agente"><br />
                Nombre Costo:</label>
              <input type="text" name="costo" id="costo" />
              <label for="zona"><br />
              </label>
            </p>
            <p>
              <input type="submit" name="buscar" id="buscar" value="Buscar" />
            </p>
          </form>
</body>
</html> 
Buscador.php
Código PHP:
<?php 

$conectar
=mysql_connect("localhost","root","vertrigo");
$selecciona=mysql_select_db("ferreteria");

$id$_POST['id'];
$nombre$_POST['nombre'];
$costo$_POST['costo'];


$sql='Select id,nombre,costo from items';

if(
$_POST['id']!=""){ 
 
//$sql='Select id,nombre,costo from items WHERE id like "%'.$_POST['id'].'%"'; 
$sql='Select id,nombre,costo from items WHERE id = '.$_POST['id'];
//$sql = "Select id,nombre,costo from items WHERE id = " . (int)$_POST['id'];
 

 
if(
$_POST['nombre']!=""){ 
 
$sql=' Select id,nombre,costo from items WHERE nombre like "%'.$_POST['nombre'].'%"'
//$sql='Select id,nombre,costo from items WHERE nombre = '.$_POST['nombre'];

if(
$_POST['costo']!=""){ 
 
//$sql='Select id,nombre,costo from items WHERE costo like "%'.$_POST['costo'].'%"'; 
$sql='Select id,nombre,costo from items WHERE costo = '.$_POST['costo'];
}


$ejecuta=mysql_query($sql);


while(
$filas=mysql_fetch_array($ejecuta)){
print 
$filas ['id'].'<br/>';
print 
$filas ['nombre'].'<br/>';
print 
$filas ['costo'].'<br/>';

}

?>
Otra ayuda mas porfavor como logro poner un mensaje que me salga que "no se encontraron ningun dato" despues d ela busqueda, o si las cajas estan vacias me muestre "datos vacios"