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"