Foros del Web » Programando para Internet » PHP »

Buscador con categorias

Estas en el tema de Buscador con categorias en el foro de PHP en Foros del Web. Hola que tal mi pregunta es la siguiente: me gustaria hacer un buscador para mi pagina web pero dandole al usuario opciones para que sea ...
  #1 (permalink)  
Antiguo 18/03/2010, 21:26
 
Fecha de Ingreso: julio-2008
Mensajes: 14
Antigüedad: 15 años, 9 meses
Puntos: 0
Buscador con categorias

Hola que tal mi pregunta es la siguiente:

me gustaria hacer un buscador para mi pagina web pero dandole al usuario opciones para que sea mas facil su busqueda, en este caso necesito 3 campos de busqueda 1 donde busquen por palabra clave y otros dos donde yo les de las opciones por ejemplo en 1 opciones de delegacion y en el otro opciones de colonia.

los ultimos dos seran una lista desplegable donde yo meta la informacion y ellos la elijan.

teniendo esto, dentro del form, ps solo tener un boton de buscar para que al buscar se encuentren las coincidencias.

Ok espero haberme explicado bn, por que ahora va mi problema,

tengo una base de datos hecha (Mysql con una tabla en donde se va a buscar esa info.
tiene 3 campos uno con nombre otro delegacion y otro con colonia. segun yo tengo que conectar la base de datos para que busque dentro de ella.
pero lo que no me queda claro es como hacer para que cada campo busque en su respectiva columna o que hay que hacer despues de darle click al boton buscar . y despues como poner para que muestre los resultados en el diseño que tengo de mi pagina ??¿¿¿

si no me di a entender quiero un buscador como el de www.occ.com.mx
que tiene varios criterios para escoger y al final los reune y solo muestra los que coincidan con todos los que se escogieron.

he buscado varias tutos y noo cumplen lo que io quisiera , me gustaria ver si tienen el codigo de alguno similar para descargarlo y estudiarlo o si me podrian detallar bn lo que hace el codigo.

Gracias espero su respuesta ya que es importante para mi . saludos.
  #2 (permalink)  
Antiguo 18/03/2010, 23:49
 
Fecha de Ingreso: febrero-2009
Mensajes: 24
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Buscador con categorias

Hola amigo, con mi poca experiencia en PHP/MySQL, lo que te recomiendo hacer es lo siguiente:

1. Pasar los datos del form (en este caso los tres criterios o parámetros de búsqueda) hasta el script php que buscará en tu base de datos
2. Convertir dichos datos en variables ($micriteriodebusqueda=$_POST['nombredelcampoenelform'];) con el método POST
3. Hacer la conexión a la base de datos
4. Realizar la consulta a la base de datos: realmente harás un SELECT, que traiga los datos en cualquiera de los tres casos, te pongo un código que podría ser el que necesites:

Código:
SELECT * FROM 'tutabla' WHERE Parametro_1='$Parametro_1' OR Parametro_2='$Parametro_2'...
5. Con un condicional del tipo: if(mysql_num_rows($tuconsulta)>0), en donde $tuconsulta es la consulta que has hecho anteriormente, lo que haces es comprobar si se encontraron coincidencias en la base de datos

6. Para traer los datos encontrados, puedes utilizar lo siguiente:

Código:
$traerdatos=mysql_query("SELECT * FROM 'tutabla' WHERE Parametro_1='$Parametro_1' OR Parametro_2='$Parametro_2'");
while ($registro = mysql_fetch_array($traerdatos))
{

echo '<br>';
echo '$registro['nombre_del_campo_en_tu_tabla_de_la_base_de_datos_1'];
echo '<br>';
echo '$registro['nombre_del_campo_en_tu_tabla_de_la_base_de_datos_2'];
echo '<br>';
echo '$registro['nombre_del_campo_en_tu_tabla_de_la_base_de_datos_3'];
echo '<br>';
echo '$registro['nombre_del_campo_en_tu_tabla_de_la_base_de_datos_4'];
echo '<br>';
echo '$registro['nombre_del_campo_en_tu_tabla_de_la_base_de_datos_5'];

}
Lo que hace anteriormente es situarse en el registro de la base de datos en el que encontró los datos para tu búsqueda, entonces, va trayendo campo a campo los resultados. Es la manera en que yo realizo las búsquedas en mi base de datos, aunque no sé si funcione eficientemente en tu caso, de todas maneras esperemos la opinión de un experto, tengo poca experiencia en programación en PHP con MySQL.

Espero haberte ayudado, estimado amigo.

Saludos.
  #3 (permalink)  
Antiguo 07/04/2010, 18:52
 
Fecha de Ingreso: julio-2008
Mensajes: 14
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Buscador con categorias

Gracias !! ya intente algo pero seguro tiene un error por que no me sirve,

A ver si me pueden echar la mano !!! en el codigo los campos cambiaron tengo in input text que se llama busqueda
y dos list. uno que se llama delegacion(el usuario tiene que esocoger las opciones) y otro precio (= ke el otro)

y bueno el chiste es que con que escojan un campo ps haga la busqueda no es necesario ls 3 criterios se pueden quedar sin seleccionar 2. espero explicarme

les dejo el codigo que tengo.

Código PHP:
<?
// quito los espacios en blanco del campo busqueda
    
trim ($busqueda);
  
  
 
//recojo los datos  del form.
 
$busqueda$_POST['busqueda'];
 
$delegacion$_POST['delegacion'];
 
$precio$_POST['precio'];
  
  
//conecto a la base de datos 

  
$db mysql_pconnect("localhost""u69095_naim""******");

// si no hay coneccion muestra el error.
  
if (!$db)
  
     echo 
"Error: No se ha podido conectar a la base de datos.  Por favor, prueba de nuevo más tarde.";
     exit;
  }
//seleccion el nombre de la base.
 
mysql_select_db("u69095_buscador");
 
$consulta"SELECT * FROM Hoteles WHERE Nombre, Direccion, Colonia='$busqueda' OR Delegacion='$delgacion' OR Precio='$precio'";
$resultado mysql_query($consulta);
$num_resultados mysql_num_rows($resultado);

  echo 
"<p>Hoteles Encontrados: ".$num_resultados."</p>";
  
  
  
  while (
$registromysql_fetch_array($resultado))
  
   {
  
  echo 
'<br>';
echo  
$registro['Nombre'];
echo 
'<br>';
echo  
$registro['Delegacion'];
echo 
'<br>';
echo  
$registro['Precio'];
echo 
'<br>';
}
 

 
 
?>

Gracias

Etiquetas: categorias, buscadores
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 22:30.