//Die Aktuelle Page ermitteln
$actPageNr = isset($_GET['pageNr']) ? $_GET['pageNr'] : 0;
//Simulierte Daten. Ich habe sie noch um den Anzeigetitel ergänzt. Dieser kann je nach Teballe was anderes
//sein
$items = array(
array('source' => 'users', 'id' => 12, 'title' => 'Peter'),
array('source' => 'users', 'id' => 25, 'title' => 'Hans'),
array('source' => 'users', 'id' => 43, 'title' => 'Daniel'),
array('source' => 'orte', 'id' => 12, 'title' => 'Bahnhof'),
array('source' => 'marken', 'id' => 3, 'title' => 'BMW'),
array('source' => 'marken', 'id' => 7, 'title' => 'Audi')
);
//Die Items in Seiten aufteilen
$pages = array_chunk($items, 2, true);
//Navigator erstellen
foreach($pages as $pageNr => $items){
//Die Anzuzeigenden beginnen nicht mit 0
$showPageNr = $pageNr+1;
if($actPageNr == $pageNr){
$navEntries[] = "<b>{$showPageNr}</b>";
}else{
$navEntries[] = "<a href = '?pageNr={$pageNr}'>{$showPageNr}</a>";
}
}
echo implode(' | ', $navEntries);
echo '<hr />';
//Die dazugehörigen Items ausgeben
foreach($pages[$actPageNr] as $item){
//Im Pfad die ID und die Source mitgeben. Somit kannst du nachher die Richtigen Daten abholen
$itemHTML[] = "<a href='?itemId={$item['id']}&source={$item['source']}'>{$item['title']}</a>";
}
echo implode("<br />\n", $itemHTML);