Comunidad de diseño web y desarrollo en internet online

Problema buscador PHP mysql con 2 campos de busqueda

Citar            
MensajeEscrito el 30 Ago 2011 10:05 am
Hola a todos!

Tengo un buscador en PHP que se conecta a MYSQL y muestre unos resultados de búsqueda en función del nombre de empresa que se instroduce en el campo.

El problema que tengo es que no se como modificar el código para añadir un segundo campo. De esta manera buscaría por Nombre y Provincia y sólo mostaria los resultados en función de los 2 criterios.

El código es este:

Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
<form action="bus.php" method="post"> 
Buscar: <input name="palabra"> 
<input type="submit" name="buscador" value="Buscar"> 
</form> 
<? 
if ($_POST['buscador']) 
{ 
// Tomamos el valor ingresado 
$buscar = $_POST['palabra']; 

// Si está vacío, lo informamos, sino realizamos la búsqueda 
if(empty($buscar)) 
{ 
echo "No se ha ingresado una cadena a buscar"; 
}else{ 
// Conexión a la base de datos y seleccion de registros 
$con=mysql_connect("localhost","xxxx","xxxx"); 
$sql = "SELECT * FROM buscador WHERE Nombre like '%$buscar%' ORDER BY Nombre DESC"; 
mysql_select_db("basedatos", $con); 

$result = mysql_query($sql, $con); 

// Tomamos el total de los resultados 
$total = mysql_num_rows($result); 

// Imprimimos los resultados 
if ($row = mysql_fetch_array($result)){ 
echo "Resultados para: <b>$buscar</b>"; 
do { 
?> 
</br></br> 
<table align=\"center\"> 
    <tr><th width=520px bgcolor=\"#65b3f9\">Empresa: <?=$row['Nombre'];?></th></br><th width=520px bgcolor=\"#339999">Provincia: <?=$row['Provincia'];?></th></br><th width=520px bgcolor=\"#65b3f9\"><?=$row['Alcance'];?></th></br> 
    </tr> 
</table> 
<? 
} while ($row = mysql_fetch_array($result)); 
echo "<p>Resultados: $total</p>"; 
} else { 
// En caso de no encontrar resultados 
echo "No se encontraron resultados para: <b>$buscar</b>"; 
} 
} 
} 
?> 
</body> 
</html> 



Gracias!

Por SKATERR

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Ago 2011 12:26 pm
Solucionado!

Al final duplique esto:

$buscar = $_POST['palabra'];
$buscar2 = $_POST['palabra2'];

Y modifique esto:

if (empty($buscar) || empty($buscar2)) {
echo "No se ha ingresado alguna de las dos cadenas a buscar";
}else{
// Conexión a la base de datos y seleccion de registros
$con=mysql_connect("localhost","xxxx","xxxx");
$sql = "SELECT * FROM buscador WHERE Nombre LIKE '%$buscar%' AND Provincia = '$buscar2' ORDER BY Nombre DESC";
// ...

Saludos!

Por SKATERR

3 de clabLevel



 

firefox

 

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