Foros del Web » Programando para Internet » PHP »

Ayuda con buscador

Estas en el tema de Ayuda con buscador en el foro de PHP en Foros del Web. Holaa! Necesito ayuda, quiero hacer un buscador de los campos "autor", "tipo" y "lugar" con listas desplegables. Tengo este código, pero no me muestra los ...
  #1 (permalink)  
Antiguo 01/06/2009, 09:43
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 14 años, 11 meses
Puntos: 0
Ayuda con buscador

Holaa!
Necesito ayuda, quiero hacer un buscador de los campos "autor", "tipo" y "lugar" con listas desplegables. Tengo este código, pero no me muestra los resultados y no sé que esta mal :( . Muchisimas gracias

Código:
 <form method = "POST" action="indexp.php?Buscar=true">
Autor<select name="autor" id="autor">
<?php
	
	include('funciones.php');	
	
	$enlace = conectar('127.0.0.1', 'root', 'root');
	$bbdd = seleccionardb($enlace, 'obras');
	$sql= "SELECT * FROM edificio";
	$recurso = ejecutarquery($sql,$enlace);

	while ($row = mysql_fetch_object($recurso))
	{
		echo "	<option value=\"".$row->id."\">".$row->autor."</option>\n";
	}
	mysql_free_result($recurso);
?>
</select>
Tipo <select name="tipo" id="tipo">
<?php
	
	
	
	$enlace = conectar('127.0.0.1', 'root', 'root');
	$bbdd = seleccionardb($enlace, 'obras');
	$sql= "SELECT * FROM obra";
	$recurso = ejecutarquery($sql,$enlace);

	while ($row = mysql_fetch_object($recurso))
	{
		echo "	<option value=\"".$row->id."\">".$row->tipo."</option>\n";
	}
	mysql_free_result($recurso);
?></select>
Lugar <select name="lugar" id="lugar">
<?php
	
	
	
	$enlace = conectar('127.0.0.1', 'root', 'root');
	$bbdd = seleccionardb($enlace, 'obras');
	$sql= "SELECT * FROM edificio";
	$recurso = ejecutarquery($sql,$enlace);

	while ($row = mysql_fetch_object($recurso))
	{
		echo "	<option value=\"".$row->id."\">".$row->lugar."</option>\n";
	}
	mysql_free_result($recurso);
?></select>
<input type="submit" name="Buscar" value="Buscar">
</form><br /></td>
<?

 

if(!isset($_POST["Buscar"])&& $_POST["Buscar"]==true)
{
	$buscar = $_POST['autor'];
	$buscar1 = $_POST['tipo'];
	$buscar2 = $_POST['lugar'];
	$enlace = conectar('127.0.0.1', 'root', 'root');
	$bbdd = seleccionardb($enlace, 'obras');
	$sql= "SELECT * FROM edificio WHERE autor='".$buscar."' OR tipo='".$buscar1."' OR lugar='".$buscar2."' OR (autor='".$buscar."' AND 		tipo='".$buscar1."') OR (autor='".$buscar."' AND lugar='".$buscar2."') OR (lugar='".$buscar2."' AND tipo='".$buscar1."') OR (autor='".$buscar."' AND tipo='".$buscar1."' AND lugar='".$buscar2."' )"; 

	$recurso = ejecutarquery($sql,$enlace);



echo "<table border=\"1\" align=\"center\">\n";
echo "Resultados para: <b>$buscar</b>";
while ($row = mysql_fetch_object($recurso)){
	
	echo "<tr>\n";
	echo "<td>".$row->autor."</td>\n";
	echo "<td>".$row->tipo."</td>\n";
	echo "<td>".$row->lugar."</td>\n";
	echo "</tr>\n";
   
}
	echo "</table>\n";
	mysql_free_result($recurso);
	
}

    ?>
  #2 (permalink)  
Antiguo 01/06/2009, 10:21
Avatar de EmaD  
Fecha de Ingreso: marzo-2008
Mensajes: 93
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: Ayuda con buscador

SELECT * FROM edificio WHERE autor LIKE '%$buscar%' OR tipo LIKE '%$buscar1%' ....

Creo que asi deberia ser. Por lo poco que se de php las busquedas se realizan con LIKE y hay una forma mas efectiva de hacerlo con match , el problema qu etengo yo en mi buscador es que solo busca si se pone una palabra , si se pone mas de una ya no funciona correctamente. Prueba con like y em cuentas.

Chekea esta explicacion
http://www.desarrolloweb.com/articulos/2087.php

Salu2
__________________
http://www.RadioMetal.com.ar
Portal/Radio Argentino De Rock & Heavy Metal
Villa Constitucion - Santa Fe - Argentina
  #3 (permalink)  
Antiguo 04/06/2009, 23:26
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayuda con buscador

no m funciona tp :S
  #4 (permalink)  
Antiguo 04/06/2009, 23:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ayuda con buscador

en veces de decir en la condicion

if(!isset($_POST["Buscar"])&& $_POST["Buscar"]==true)

cambialo por
if(!empty($_POST["Buscar"]))

o

if(isset($_POST["Buscar"]))

Puedes usar cualquiera de los dos
me dejas saber
  #5 (permalink)  
Antiguo 09/06/2009, 04:47
 
Fecha de Ingreso: junio-2009
Mensajes: 8
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Ayuda con buscador

ya me funciona, muchisimas gracias!!!!! :D
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:22.