Foros del Web » Programando para Internet » PHP »

Modificación de un Buscador Interno

Estas en el tema de Modificación de un Buscador Interno en el foro de PHP en Foros del Web. Hola! He estado buscando un código para tener un buscador interno y después de mucho buscar por fín he conseguido uno y tengo algunos problemillas. ...
  #1 (permalink)  
Antiguo 14/07/2006, 11:37
 
Fecha de Ingreso: diciembre-2003
Mensajes: 73
Antigüedad: 20 años, 11 meses
Puntos: 2
Modificación de un Buscador Interno

Hola! He estado buscando un código para tener un buscador interno y después de mucho buscar por fín he conseguido uno y tengo algunos problemillas.

Código HTML:
<?php
$conexio = mysql_connect("xxxxxx", "xxxxxx", "xxxxxx");; 
mysql_select_db ("xxxxxx", $conexio) OR die ("No se puede conectar"); 

// SQL para la búsqueda 
$sql="SELECT * FROM juegos WHERE nombre LIKE '%".$palabra."%' OR descripcion LIKE '%".$palabra."%'"; 

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

// Si hay resultados crea una tabla y los muestra 
if ($row= mysql_fetch_array($result)) 
{ 
DO 
{ 
echo "".$row[nombre]."<br>
$row["descripcion"].";
} 
WHILE ($row=mysql_fetch_array($result)); 
} 
mysql_close ($conexio); 
?> 
El problema es que me busca palabras que están en el nombre O en la descripción. Por ejemplo: "mario salta", me gustaría que aparecieran los resultados del nombre "mario" y de descripción "salta" y ahora no me aparece nada. Como tambien me gustaría que me buscara palabras por ejemplo de la descripción que no estuvieran en el mismo orden, por ejemplo: "saltar monedas" (Ya sea en el nombre o en la descripción.)


Llevo ya horas probando en este simple script pero no consigo que me funcione el problemilla que tengo.
__________________
Tonos gratis
  #2 (permalink)  
Antiguo 14/07/2006, 12:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
En la sentencia SQL .. en lugar de "OR" usa "AND" ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 14/07/2006, 16:03
 
Fecha de Ingreso: diciembre-2003
Mensajes: 73
Antigüedad: 20 años, 11 meses
Puntos: 2
Ya lo probé no funciona, e incluso ahora devuelve menos resultados porque obliga a que haya coindencia de título y descripción. Gracias de todas formas.
__________________
Tonos gratis
  #4 (permalink)  
Antiguo 14/07/2006, 16:06
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
De acuerdo

Pues si quieres que te muestre el resultado de esas dos palabras tendrias que separar primero la cadena con explode() y realizar las consultas con dichos valores.

Saludillos.
  #5 (permalink)  
Antiguo 17/07/2006, 06:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por JoJa
Ya lo probé no funciona, e incluso ahora devuelve menos resultados porque obliga a que haya coindencia de título y descripción. Gracias de todas formas.
En ese caso lo que necesitarías es usar busquedas tipo "Full Text search" (o busquedas de texto completo).

http://www.mysql-hispano.org/page.php?id=15

Y sino, . usa la técnica que te menciona mauled para ir componiendo tu sentencia SQL a base de bloques "campo AND u OR $palabra" ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 21:12.