Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/08/2010, 12:31
Avatar de ehguacho
ehguacho
 
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 2 meses
Puntos: 4
Respuesta: Consejo para buscador de mi sitio

gracias por sus respuestas!

por suerte ya pude solucionarlo.

por si a alguno le sirve, les comento que fue básicamente lo que hice.

el usuario especifica lo que desea buscar en un formulario. luego el usuario presiona el botón "buscar" y el formulario es enviado y procesado en PHP.

el script que procesa el formulario, luego de procesar dicho formulario, reenvía al usuario a la página anterior y muestra los resultados obtenidos.
para poder tomar los datos de los resultados, los paso por URL al momento de redirigir al usuario.
por URL paso, además del arreglo con los datos que necesito para mostrar los resultados, una serie de variables que, en cojunto, especifican los parámetros de búsqueda ingresados por el usuario al momento de ejecutar dicha búsqueda.
si la cantidad de resultados obtenidos excede la cantidad máxima de resultados a mostrar por página, ahí es cuando se deben paginar los resultados, es decir mostrar unos links onda "pagina 1 - pagina 2 - ..." donde cada uno de esos links es una página de resultados (como lo hace Google, por ejemplo).
en realidad, lo que hago para paginar los resultados es reprocesar la búsqueda ingresada por el usuario e ignorar los primeros N resultados, es decir los resultados que han de mostrarse en las páginas de resultados anteriores.
para ser más claro: cada vez que el usuario presiona en uno de los links que muestran una página de resultados, llamo a una funcion javascript que lo que hace es tomar los parámetros que pasé por URL (o sea los que pasé al momento de redirigir al usuario para mostrar los resultados), ingresarlos correspondientemente en los campos donde el usuario especifica los parámetros de la búsqueda, ingresar en un campo hidden el número de página al cual se dese saltar y luego reenviar el formulario.
dentro del script que procesa el formulario tengo una variable "$pagina" que lo que hace es almacenar el número de página para saber que resultados han de mostrarse. por ejemplo: si estamos mostrando 10 resultados por página y se desea saltar a la página 3, entonces deberemos ignorar los primeros 20 resultados obtenidos y guardar los siguientes 10, que son los que deben ser mostrados.

la onda es que siempre que se presiona el boton "buscar", se está especificando una nueva búsqueda, con lo cual el formulario es enviado con un campo hidden que toma valor 0, dado que 0 es el número de página de resultados que se desea mostrar, es decir que no se debe obviar ningúno de los primeros N resultado (debido a que es una nueva búsqueda). cuando el usuario desea saltar, por ejemplo, a la página 3, asigno mediante javascript a dicho campo hidden el valor "3" y reenvío el formulario de búsqueda para luego ser procesado.

es medio mambo explicarlo, pero les dejo el link a mi sitio para que vean como funciona: http://mamedk.comule.com/index.php?seccion=2

realicen una búsqueda especificando algunos parámetros, y luego presionen en alguno de los links de página de resultados. van a ver como los datos que ingresaron en el formulario de búsqueda al momento de ejecutar la misma son reescritos dentro de los elementos del formulario y luego es reenviado.

espero que a alguien le sea útil. no se si será la mejor solución, pero a mi me funcionó a la perfección.

saludos!
__________________
Cine clásico en descarga directa! http://felliniycia.comule.com