Foros del Web » Programando para Internet » PHP »

Buscador con valores multiples

Estas en el tema de Buscador con valores multiples en el foro de PHP en Foros del Web. Alguno me puede decir donde puedo encontrar un tutorial para hacer un buscador multiple? Me refiero a multiple a que uno coloque varios valores (por ...
  #1 (permalink)  
Antiguo 15/08/2004, 16:12
DracoTronick
Invitado
 
Mensajes: n/a
Puntos:
Buscador con valores multiples

Alguno me puede decir donde puedo encontrar un tutorial para hacer un buscador multiple? Me refiero a multiple a que uno coloque varios valores (por ej: nombre, ciudad, edad) y devuelva solo los campos que tengan estos valores.

Muchas gracias

PD: el buscador toma datos de una BD en MySql.
  #2 (permalink)  
Antiguo 15/08/2004, 22:55
 
Fecha de Ingreso: junio-2003
Ubicación: Ciudad de Panamá
Mensajes: 74
Antigüedad: 20 años, 10 meses
Puntos: 0
Una idea para tu problema

Bueno, yo estoy desarrollando un catálogo de libros, el cual puede ser consultado por Autor, Título, ISBN, Lugar de Publicación, Editorial, Fecha de Publicación.

El Asunto no es tán sencillo, pues necesitas crear un query el cual pueda estar compuesto por un criterio que puede contener uno, varios o todos los valores de búsqueda.

¿Qué hice?.

Bueno cree una función la cual genera un Query formado por los criterios dados por el usuario, claro esta que debes permutar entre todas las posiblidades que existen para la búsqueda, así podrias aplicar el criterio de 2 a la n, posiblidades de valores según tu búsqueda.

Contáctame para enviarte el script.

[email protected].

Es que no lo tengo en casa.

Suerte
  #3 (permalink)  
Antiguo 16/08/2004, 00:04
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
:séveR led onieR le edsed sodulaS

Bueno, soy inexperto en esto pero... hace poco hice algo que espero te sirva... Explico como funciona:

- Los datos los recojo de un formulario... ocupemos tres campos para este ejemplo... Nombre, Ciudad y Edad que son los que manejas tú.


<?php
// primero checo que haya al menos un valor para poder realizar la busqueda...
if((!empty($_POST['nombre']))||(!empty($_POST['ciudad']))||(!empty($_POST['edad']... cuantos valores recojas... )))
{
//No están vacios... les asigno una variable y la query necesaria para su busqueda
if(!empty($_POST['nombre']))
{
$nombre=$_POST['nombre'];
$busca[]=" AND nombre LIKE '%$nombre%'"; -> No sé como poner '%$_POST['nombre']%' para ahorrar una línea... repito que soy nuevo y si pudiesen decir cómo...
}
if(!empty($_POST['ciudad']))
{
$ciudad=$_POST['ciudad'];
$busca[]=" AND ciudad LIKE '%$ciudad%'";
}
if(!empty($_POST['edad']))
{
$edad=$_POST['edad'];
$busca[]=" AND edad LIKE '%$edad%'";
}
//... de nuevo... lo mismo hasta cuantos valores quieras ocupar...

$query = "SELECT * FROM tutabla WHERE 1 "; <- El inicio de la query...
$elemBusc=count($busca);
$i=0;
while($i<$elemBusc)
{
$query .= $busca[$i]; <- Añadimos a la query las condiciones de busqueda...
$i++;
}

if($conexion=mysql_connect("localhost", "", ""))
{
$result = mysql_db_query("tuBD","$query");

if(mysql_num_rows($result) != 0)
{
$resultados=mysql_num_rows($result);
echo "Datos encontrados: ".$resultados.";
while($res=mysql_fetch_array($result))
{
... Bueno presentas los datos como quieras.. con $res['nombre'].. etc, etc,....
}
}
else
{
echo "NO SE ENCONTRARON RESULTADOS";
}
mysql_close($conexion);
}
else
{
echo "NO SE CONECTO";
}
}
else
{
echo "NO SE DIERON CRITERIOS DE BUSQUEDA V&Aacute;LIDOS";
}
?>
... y Bueno, básicamente es eso a grandes rasgos... a mi me funcionó para lo que lo necesitaba.. que es delimitar la busqueda... espero sea lo que necesitas .

-------
jam1138
"No hay opiniones estúpidas, solo estúpidos que opinan"
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 08:05.