<?php

function page_count($page, $max_pp, $query, $page_counter) {
        $photos = mysql_result(mysql_query($query),0);
        $pages = ceil($photos / $max_pp);
        $first_page = ($page == 1) ? 0 : 1;
        $last_page = ($page == $pages) ? 0 : $pages;
        $prev = ($page == 1) ? 0 : $page - 1;
        $next = ($page == $pages) ? 0 : $page + 1;

        $discount = ($page > $page_counter) ? $page_counter : $page - 1;
        $count = ($page < $pages - $page_counter) ? $page_counter : $pages - $page;
        for ($i = $page - $discount; $i <= $page + $count; $i++) {
                $page_nr[] = $i; 
        }
        return array($page, $prev, $next, $page_nr, $first_page, $last_page);
}

/* gebruik */
$get_rows = "SELECT COUNT(*) AS NUM FROM tabel WHERE iets = 'iets'";
$page = (!isset($_GET['page'])) ? 1 : $_GET['page'];
$pages = page_count($page, 10, $get_rows, 5);

$prev_lnk = ($pages[1] != 0) ? '<a href=?page='.$pages[1].'>'.$lang['link']['prev'].'</a>' : $lang['link']['prev'];
$next_lnk = ($pages[2] != 0) ? '<a href=?page='.$pages[2].'>'.$lang['link']['next'].'</a>' : $lang['link']['next'];
$first = ($pages[4] != 0) ? '<a href=?page='.$pages[4].'>'.$lang['link']['first'].'</a>' : $lang['link']['first'];
$last = ($pages[5] != 0) ? '<a href=?page='.$pages[5].'>'.$lang['link']['last'].'</a>' : $lang['link']['last'];
	
$page_numbers = '';
for ($i = 0; $i <= count($pages[3]) - 1; $i++) {
        $page_numbers .= ($pages[0] == $pages[3][$i]) ? '<b>['.$pages[3][$i].']</b>' : '<a href="?page='.$pages[3][$i].'">['.$pages[3][$i].']</a>';
}
?>