problema BUSQUEDA + PAGINACION

Ethan
23 de Julio del 2004
Hola,

Tengo una tabla con unos 100000 registros. Para trabajar con ella en una intranet la pagino de 10 en 10 registros.

Unido al listado de la tabla hay un buscador, pero en lugar de filtrar y mostrar sólo los resultados de la busqueda, en el listado necesito situarme en la página en la que se encuentra el registro buscado, y después poder navegar por el listado completo.

Es decir, si el query que obtine los 10 primeros reg de los 100.000 reg paginados es: (simplificando)

select * from tabla order by campo1, campo2 limit 0,10

al hacer una busqueda del registro X necesito obtener la posición del registro buscado, descubrir cual es la página que le correspondería dentro del listado y posicionarme en ella con el Limit.

Hay que tener en cuenta que el orden del query no es el que existe realmente en la tabla y por tanto necesito ordenar antes de intentar obtener la posición.

Después de darle muchas vueltas lo que tengo claro es que necesito la posición (fila) del registro buscado en la tabla ordenada según el query, porque a partir de ahí es fácil obtener la página que le corresponde y situarse con el LIMIT.

Sin embargo no se me ocurre como obtenerlo de forma sencilla y sin usar tablas auxiliares... hay que tener en cuenta que además el número de registros aumenta a razón de 4000 al més...

Gracias por adelantado