Foros del Web » Programando para Internet » PHP »

se pueden hacer busquedas sin poner palabras exactas?

Estas en el tema de se pueden hacer busquedas sin poner palabras exactas? en el foro de PHP en Foros del Web. Hola a todos, Hay alguna manera de hacer una busqueda a BD sin usar palabras exactas, en busquedas del tipo LIKE y MATCH AGAINST. Que ...
  #1 (permalink)  
Antiguo 29/04/2008, 15:38
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
se pueden hacer busquedas sin poner palabras exactas?

Hola a todos,

Hay alguna manera de hacer una busqueda a BD sin usar palabras exactas, en busquedas del tipo LIKE y MATCH AGAINST.

Que al escribir en el form de busqueda la palabra "fer" y me busque los apellidos que empiecen por "fer" y me muestre los fernandez y fermines por ejemplo.

Gracias
  #2 (permalink)  
Antiguo 29/04/2008, 17:42
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Re: se pueden hacer busquedas sin poner palabras exactas?

En la etiqueta del Like


Código HTML:
like 'fer%' // todas las que empiezan por fer
__________________
Hernando Saenz Sanchez
  #3 (permalink)  
Antiguo 29/04/2008, 21:51
Avatar de MoDoRrO  
Fecha de Ingreso: septiembre-2005
Ubicación: Php+Flash+AS
Mensajes: 1.072
Antigüedad: 18 años, 7 meses
Puntos: 12
Re: se pueden hacer busquedas sin poner palabras exactas?

y si por ejemplo, agrego estas palabras:

fer na

que me busque todos los registros que tengan estas palabnras, ejemplo
Fermin tiene una navaja
como se podra hacer???

saludos
  #4 (permalink)  
Antiguo 30/04/2008, 04:59
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: se pueden hacer busquedas sin poner palabras exactas?

Gracias por la respuesta Hernandos,

pero yo ya tengo el la etiqueta del LIKE la variable $busqueda

Código PHP:
"SELECT * FROM descargas WHERE description =1 
      AND name LIKE  '%$busqueda%' OR description LIKE  '%$busqueda%' ORDER  BY name ASC"

y poniendo esa etiqueta ¿no me valdra para otro grùpo de letras, solo para "fer", y a mi me gustaria poderlo hacer general y poderlo hacer con cualquier palabra

poniendo fer ---> que busque todo lo que empiece por fer
poniendo mar --->todo lo que empiece por mar, como marquez y martinez.

si alguien sabe de alguna funcion o manual

Muchas Gracias.
  #5 (permalink)  
Antiguo 30/04/2008, 05:07
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: se pueden hacer busquedas sin poner palabras exactas?

Lo que te ha dicho hernandos te vale perfectamente.

Y si no es así, es que no entendí.

poniendo fer ---> que busque todo lo que empiece por fer ---> LIKE 'fer%'
poniendo mar --->todo lo que empiece por mar, como marquez y martinez. ---> LIKE 'mar%'
  #6 (permalink)  
Antiguo 30/04/2008, 05:31
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: se pueden hacer busquedas sin poner palabras exactas?

Cita:
Iniciado por Bonez Ver Mensaje
Lo que te ha dicho hernandos te vale perfectamente.

Y si no es así, es que no entendí.

poniendo fer ---> que busque todo lo que empiece por fer ---> LIKE 'fer%'
poniendo mar --->todo lo que empiece por mar, como marquez y martinez. ---> LIKE 'mar%'

Gracias Bonez, pero creo que el que no se entera soy yo,

pero para cada caso he de exçscribir una sentencia distinta,

si tengo 10.000 registros en la bd y quiero buscar por ejemplo, todos los apellidos que empiecen por "ma" ya no me sirve lo de LIKE 'fer%' lo que quiero es hacer una busqueda con cualquier combinacion de letras.

Gracias pòr vuestras respuestas.
  #7 (permalink)  
Antiguo 30/04/2008, 05:43
 
Fecha de Ingreso: junio-2007
Ubicación: por ahi
Mensajes: 262
Antigüedad: 16 años, 9 meses
Puntos: 4
Re: se pueden hacer busquedas sin poner palabras exactas?

puede ser , pero el punto seria algo asi como

Código PHP:
$variable 'fer' // puede ser igual a la cadena que quieras


like '$variable%' 
y asi con todo lo que quieras, ese es el porque de las variables
__________________
Hernando Saenz Sanchez
  #8 (permalink)  
Antiguo 30/04/2008, 06:02
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: se pueden hacer busquedas sin poner palabras exactas?

gracias,

es asi como lo tengo puesto

Código PHP:
 $busqueda quitar($_POST['palabra']);
if (
$busqueda<>''){ 
  
//CUENTA EL NUMERO DE PALABRAS 
  
$trozos=explode(" ",$busqueda); 
  
$numero=count($trozos); 
  if (
$numero==1) { 
    
//SI SOLO HAY UNA PALABRA DE BUSQUEDA SE ESTABLECE UNA INSTRUCION CON LIKE 
    
$_pagi_sql="SELECT * FROM descargas WHERE description =1 
      AND name LIKE  '%$busqueda%' OR description LIKE  '%$busqueda%' ORDER  BY name ASC"

lo que dices tu, es que le quite uno de los % de la variable busqueda???

Gracias
  #9 (permalink)  
Antiguo 30/04/2008, 06:15
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: se pueden hacer busquedas sin poner palabras exactas?

Mil perdones, la sentencia SQL ya lo hace, sin modificar nada

Gracias por las respuestas y perdon de nuevo por mi ignorancia y no comprobar las cosas antes de preguntar.

Gracias.
  #10 (permalink)  
Antiguo 30/04/2008, 06:17
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Re: se pueden hacer busquedas sin poner palabras exactas?

Mi no comprende.
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 15:38.