Foros del Web » Programando para Internet » PHP »

Problemas con buscador en mi sitio.

Estas en el tema de Problemas con buscador en mi sitio. en el foro de PHP en Foros del Web. Hola ¿que tal? Tengo un par de buscadores en mi sitio (uno para los foros, otro para un diccionario temático y otro general). En todos ...
  #1 (permalink)  
Antiguo 19/05/2006, 13:00
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 10 meses
Puntos: 2
Busqueda Problemas con buscador en mi sitio.

Hola ¿que tal?

Tengo un par de buscadores en mi sitio (uno para los foros, otro para un diccionario temático y otro general). En todos ellos utilizo el mismo código, pero me di cuenta de un error bastante feo.

Cuando realizo una búsqueda aparecen un listado de documentos encontrados con un link para ver los documentos. Cuando hago click en uno de estos links, ingreso perfectamente al documento, pero cuando quiero volver a la lista me sale el cartel:

"La pagina que esta requeriendo contiene POSTDATA que ha expirado en la cache".

Y la única forma de volver a la lista es dandole "REINTENTAR" y que vuelva a generar la consulta.

¿hay alguna forma de "obligarlo" a que tome la lista del cache?


Otro problema que tengo es el siguiente... en el foro por ejemplo, tengo un topic que dice "Programas de musica por computadora". Si yo busco "musica" o "computadora", aparece. Si busco: "musica computadora" no aparece :S

(mis queries en el buscador las hago con "...where palabra like %key%...")


Buno, muchas gracias a quien me pueda ayudar. Si es necesario, pongo el código.

SALUDOS!
  #2 (permalink)  
Antiguo 19/05/2006, 20:15
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 10 meses
Puntos: 2
¿alguna ayuda?
  #3 (permalink)  
Antiguo 20/05/2006, 12:38
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 10 meses
Puntos: 2
Bueno gracias igualmente :P
  #4 (permalink)  
Antiguo 20/05/2006, 13:59
 
Fecha de Ingreso: junio-2005
Mensajes: 28
Antigüedad: 19 años, 5 meses
Puntos: 0
Puede que ya sea tarde, pero es que no he entrado al foro en toda la semana.
Para el primer caso, debieras hacer las busquedas por GET. http://www.midominio.com/buscar.php?q=lo%20que%20busco. Y pasar la cadena a buscar al script que muestra el hilo: http://www.midominio.com/verpost.php...lo%20que%20sea. Ahora sólo debes hacer que el link que nos hace volver atras coga el parametro y el valor asociado de q.

Si en vez de pulsar en el link, pulsas en el botón atras del navegador, tampoco tendrás el problema de "La pagina que esta requeriendo contiene POSTDATA que ha expirado en la cache".

Para el segundo el problema reside en que hace las busqueda por "musica computadora" que al meterla en la query, queda de la siguiente manera:
Código PHP:
$sql="SELECT lo_que_sea FROM donde_sea WHERE condicion LIKE '%musica computadora%'"
Esto buscará las cadenas que tengan literalmente "musica computadora". Para obtener el resultado que deseas, debieras cambiar el espacio por el caracter comodín, %. De forma que:
Código PHP:
$sql="SELECT lo_que_sea FROM donde_sea WHERE condicion LIKE '%"str_replace(" ","%",$cadena_busqueda)."%'"
  #5 (permalink)  
Antiguo 22/05/2006, 18:44
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 19 años, 10 meses
Puntos: 2
TERROR ZINE: Muchas gracias amigo! Me has sido de gran ayuda :)

En verdad yo no tenia un script especialmente para realizar las búsquedas, sino que el mismo .PHP de la pagina del buscador contenia el codigo para buscar... ahora voy a armar un script especialmente para buscar y de paso voy a utilizarlo en el resto de los buscadores de mi página... también agregue una función para reemplazar los espacios vacios por "%" y esta funcionando perfectamente.

Voy a revisar ahora como hacer para que al volver hacia atras muestre el resultado de la busqueda desde la cache y si me sale lo posteo aqui para que a quien le interesa lo tenga a disposición.

Nuevamente, GRACIAS !! :)

eDU
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:28.