<?php
/* Configuration */
$range = 7; // Antal resultater pr. side
$output = ''; // Sætter variablen
$pages_each_way = 5; // Antal sider hver vej
$db_tbl_name = 'guestbook'; // Tabellen hvorfra vi henter vores data
/* Calculation */
$offset = isset($_GET['offset']) ? $_GET['offset'] : 0;
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM ".$db_tbl_name.""), 0);
$start_point = ($offset-($pages_each_way*$range) < 0) ? 0 : $offset-($pages_each_way*$range);
$end_point = ($offset+($pages_each_way*$range) > $total) ? $total : $offset+($pages_each_way*$range);
$page_number = ($start_point/$range)+1;
/* Fetching result */
$query = mysql_query("SELECT * FROM ".$db_tbl_name." ORDER BY id DESC LIMIT ".$offset.",".$range."") or die(mysql_error());
while ($row = mysql_fetch_array($query, MYSQL_ASSOC)) {
$output .= $row['field'];
}
$output .= ($offset >= $range) ? '<a href="?offset='.($offset-$range).'">Forrige</a> ' : 'Forrige ';
for ($start=$start_point; $start<$end_point; $start=$start+$range) {
$output .= ($offset == $start) ? '<b>'.$page_number++.'</b> ' : '<a href="?offset='.$start.'">'.$page_number++.'</a> ';
}
$output .= ($total > $offset+$range) ? '<a href="?offset='.($offset+$range).'">Næste</a>' : 'Næste';
// Udskriver variablen
echo $output;
?>
Et eksempel kan ses her:
http://schaefner.dk/?context=guestbook