Después de algo más de 1 hora, 31 minutos, y 46 segundos, yendo a piñón fijo, he conseguido solucionar el problemilla de la función de Al Zuwaga (función para paginar, al estilo foros del web), pues me daba algunos problemas para determinadas paginaciones (cuando mostraba las páginas iniciales, creo recordar que las 4 o 5 primeras, salía la lista completa de todas las páginas).
Se trata de una función que te permite ver al pie de la página (o allí donde la coloques), un listado del tipo:
<<Primera|17|18|19|20|21|Última>>
De tal forma que si tienes muchas páginas, solo muestra 5, siendo la página central, la página que estamos visualizando en ese momento.
La función a la que me refiero es esta:
http://www.forosdelweb.com/showpost....3&postcount=57
Le he cambiado el nombre, y los nombres de las variables, porque me manejo mejor con nombres completos (por aquello de que quizás son algo más descriptivos). Así que le pido excusas al maestro A_Z, por haberle metido mano a su función

Código:
Y llamamos a la función así:<% Function BarraDeNavegacion(PaginasTotales, PaginaActual) 'Modificar el contenido de las constantes para cambiar el aspecto de la barra de navegación const EstiloDeLaTabla = "border: 1px solid #D6AD6B; font-family: Arial, Helvetica, sans-serif; font-size: 10px;" const EstiloCeldaPaginaXdeY = "color: #846B42; background-color: #D6AD6B;" const LinkDelEnlace = "link1" const EstiloDeLaCeldaPaginaActual = "background-color:#EFD6AD; font-weight:bold;" const EstiloDeLaCeldaPaginaConLink = "background-color:#F7E7C6" if PaginasTotales > 1 then if PaginasTotales > 5 then MostrarUltima = true TablaConBarraDeNavegacion = "<table border=""0"" cellpadding=""2"" cellspacing=""1"" style=""" & EstiloDeLaTabla & """><tr><td style=""" & EstiloCeldaPaginaXdeY & """> Página " & PaginaActual & " de " & PaginasTotales & " </td>" if PaginaActual >= 4 then TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?pagina=1"" class=""" & LinkDelEnlace & """><strong>«</strong> Primera</a></td>" CantidadAMostrarDeAnterioresYPosteriores = 2 'Indicamos la celda central como activa, y sin link '(la 3ª, de las 5 mostradas), y el resto con link for i = 1 to 5 'No mostramos link si estamos en la 3ª celda de las 5 mostradas if i = 3 then TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style=""" & EstiloDeLaCeldaPaginaActual & """>" & PaginaActual & "</td>" else 'Mostramos el link si estamos en las celdas distintas de la 3ª (la central) TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style=""" & EstiloDeLaCeldaPaginaConLink & """><a href="""& PaginaActualBarraDeNavegacion & "?pagina=" & PaginaActual - CantidadAMostrarDeAnterioresYPosteriores & """ class=""" & LinkDelEnlace & """>" & PaginaActual - CantidadAMostrarDeAnterioresYPosteriores & "</a></td>" end if if PaginaActual - CantidadAMostrarDeAnterioresYPosteriores = PaginasTotales then MostrarUltima = False Exit For end if CantidadAMostrarDeAnterioresYPosteriores = CantidadAMostrarDeAnterioresYPosteriores - 1 next else if PaginasTotales < 5 then for i = 1 to PaginasTotales if i <> PaginaActual then TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?pagina=" & i & """ class=""" & LinkDelEnlace & """>" & i & "</a></td>" else TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaActual &""">" & i & "</td>" end if next else For i = 1 to 5 if i <> PaginaActual then TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?pagina=" & i & """ class=""" & LinkDelEnlace & """>" & i & "</a></td>" else TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td width=""15"" align=""center"" style="""& EstiloDeLaCeldaPaginaActual &""">" & i & "</td>" end if next end if end if if MostrarUltima = true then TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "<td style="""& EstiloDeLaCeldaPaginaConLink &"""><a href="""& PaginaActualBarraDeNavegacion & "?pagina=" & PaginasTotales & """ class=""" & LinkDelEnlace & """>Última <strong>»</strong></a></td>" TablaConBarraDeNavegacion = TablaConBarraDeNavegacion & "</tr></table>" BarraDeNavegacion = TablaConBarraDeNavegacion end if end Function %>
Código:
La función solo rula, si muestras 5 páginas al pie. Creo que si quieres mostrar otra cantidad, habría que hacer más de un cambio (aunque no lo he probado con profundidad).<%=BarraDeNavegacion(PaginasTotales, PaginaActual)%>
Los derechos de autor son de Al Zuwaga, así que si quereis pagarle una cervecita, seguro que os lo agradece
