Te repito, tu código hace demasiado para lo que pretendes hacer, aparte, no muestras el código donde divides los items, tampoco indicas si es para paginar un resultado de una DB, etc...
Cita: ...recien empiezo en esto y me traeria más de un dolor de cabeza.....
Sinceramente dudo que te de mas dolor de cabeza que intentar hacer algo desde 0 con el nivel que tienes, pero bueno, eso no esta del todo mal querer hacerlo tu mismo...
Como no muestras todo el código implicado solo te podré dejar un ejemplo de como construir los links de navegación de tu paginación...
Código PHP:
Ver original//supondré que los resultados vienen en un array, ya sea de DB o de lo que fuere...
$numTotalItems = count($items);
//numero de items mostrados por página...
$numPerPage = 15;
//Obtenemos el numero total de páginas, como es una división probablemente obtengamos un
//una fracción, por lo tanto hay que redondear el numero hacia arriba...
$totalPages = ceil($numTotalItems / $numPerPage);
//verificamos en que página estamos
$currentPage = (isset($_GET['page'])) ?
$_GET['page'] : 1;
//verificamos si es la primera página o no
if ($currentPage > 1) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($currentPage - 1).'">Anterior</a>';
}
//recorremos las página existentes
for($i=0; $i<=$totalPages; $i++) {
//verificamos si la página dentro del for es igual o no a la página actual
if ($i != $currentPage) {
//si no lo es imprimimos el link
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a>';
}else {
//si es igual la destacamos como negrita y no agregamos el link
echo '<strong>'.$i.'</strong>';
}
}
//vemos si la página actual es menor al total de páginas
if ($currentPage < $totalPages) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($currentPage + 1).'">Siguiente</a>';
}
Ahora, si obtienes muchas páginas y solo quieres mostrar las 5 anteriores, la página actual y las 5 siguientes podrías hacer algo así...
Código PHP:
Ver original//verificamos si es la primera página o no
if ($currentPage > 1) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($currentPage - 1).'">Anterior</a>';
}
$inicio = 1;
if ($currentPage > 5) {
$inicio = $currentPage - 5;
}
$fin = $totalPages;
$finTemp = $totalPages - $currentPage;
if ($finTemp > 5) {
$fin = $currentPage + 5;
}else {
$fin = $totalPages;
}
for($i=$inicio; $i<=$fin; $i++) {
if ($i != $currentPage) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a> ';
}else {
echo '<strong>'.$i.'</strong> ';
}
}
if ($currentPage < $totalPages) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($currentPage + 1).'">Siguiente</a>';
}