Buenas,
A ver, obviamente el trozo de código que tienes que cambiar es este:
Código PHP:
Ver original//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas > 1){
for ($i=1;$i<=$total_paginas;$i++){
if ($pagina == $i)
//si muestro el índice de la página actual, no coloco enlace
echo $pagina . " ";
else
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo "<a href='paginacion.php?pagina=" . $i ."'>" . $i . "</a> ";
}
}
Aquí tienes en $total_paginas el número de la última página y en $pagina el número de la actual.
La cosa es tan sencilla como quitar el bucle, ya que no quiere mostrar todo, y poner en su lugar un enlace a la primera página (1), unos puntos suspensivos, un enlace a $pagina - 1, luego $pagina en negrita y rojo, un enlace a $pagina + 1 y, por último, un enlace a la última ($total_paginas). Lo único que tienes que intentar controlar son los límites de las páginas, es decir que si, por ejemplo, $pagina + 1 ya es $total_paginas, no tienes que imprimir ese enlace.
Es sencillo, inténtalo y si tienes problemas ven con algo de código, te guiaré.
Un saludo.