$total_pages=147; /* подсчитывается на основе количества элементов в базе */
for($i = 1; $i <= $total_pages; $i++):
echo '<a href="?page='.$i.'">'.$i.'</a>';
endfor;
$total_pages = 147;
$pages_count = 3;
$last_pages_start = $total_pages - $pages_count;
for($i = 1; $i <= $total_pages; $i++):
if($i <= $pages_count || $i >= $last_pages_start) {
echo '<a href="?page='.$i.'">'.$i.'</a>';
}
if($i == $pages_count) {
echo '...';
$i = $last_pages_start;
}
endfor;