Uno de mis comportamientos estándar para la paginación dentro de mis CMS es mostrar una barra rápida alfabética al ordenar por una columna alfa. Por ejemplo, si los resultados están ordenados por Apellido, debajo de la paginación imprimo una serie de enlaces, de la A a la Z, para llevarlo directamente a la página de un primer personaje en particular.¿Existe alguna forma mejor de crear un índice de paginación alfabética en PHP/MySQL?
Ejemplo:
Actualmente estoy haciendo esto por conseguir todos los resultados de esa columna, ordenados alfabéticamente, y luego bucle a través de todos ellos en PHP y grabar lo que la página aparece en el registro. Esto funciona bien cuando solo se trata de unos pocos cientos de resultados, pero ahora estoy trabajando en un proyecto que podría tener varios cientos de miles de filas y simplemente no es una opción viable.
¿Hay un método más eficiente para producir este tipo de índice? Tenga en cuenta que también necesita manejar algo más que A-Z, ya que las filas pueden comenzar con números o signos de puntuación.
Editar para aclarar: No estoy buscando una lista simple de todos los primeros caracteres, eso es fácil. Necesito calcular en qué página del total de resultados estaría el campo que comienza con ese carácter. Entonces, digamos que estamos buscando a alguien llamado Walter, y tengo 1000 filas, necesito saber en qué punto de ese rango de 1-1000 comienzan los W.
Pregunta actualizada a más clara. Necesito más que solo una lista de todos los primeros personajes. – ChiperSoft
Post-edit: Hmm, cuenta, eso podría funcionar. Usa el conteo de cada personaje para encontrar la página en la que estaría. – ChiperSoft
Esto funciona perfectamente. Recorrer los resultados y resumir el total de todas las entradas antes me da exactamente el resultado que estaba buscando. ¡Gracias! – ChiperSoft