<?php

/************************************************************************/
/* Previous/Next Script                                                 */
/* ====================                                                 */
/*                                                                      */
/* Copyright (c) 2004 by Elwin                                          */
/* http://fratsloos.nl                                                  */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/*                                                                      */
/* Version: 1.2                                                         */
/* Changes: Changed the presentation of the pagenumbers (version 1.1),  */
/* added a bold pagenumber for the page where the user is on. (by       */
/* Elwin)                                                               */
/*                                                                      */
/* Version History                                                      */
/* Version 1.1: Added pagenumbers which include a hyperlink to the page */
/* (by Elwin)                                                           */
/* Version 1.0: Default script wich includes the Previous / Next hyper- */
/* links (by Elwin)                                                     */
/************************************************************************/

// Connect to the Databaseserver
mysql_connect ("","","");

// Select the Database
mysql_select_db("");

// Variables
if(is_numeric($_GET['max'])) $max = $_GET['max'];
if(is_numeric($_GET['start'])) $start = $_GET['start'];

if (empty($max)) $max = 5;  // $max is the maximum number of results per page
if (empty($start)) $start = 0; // This is the number to start the query at the right location [DO NOT EDIT]

// Calculate some stuff
$end = $start + $max;   // This is for the query, gives the number for the LIMIT
$prev = $start - $max;   // This number is for $start in the Previous-hyperlink
$next = $end;   // This number is for $start in the Next-hyperlink

// Select everything from the table
$query = mysql_query("SELECT * FROM table ORDER BY id DESC LIMIT $start, $max") or die (mysql_error());

// Number of rows from $query
$num = mysql_num_rows($query);
if (empty($num))
{
   echo "<p>There are no results.</p>";
}
else
{
  while ($result = mysql_fetch_row($query))
  {
    // Show the results
    echo "[$result[0]] $result[1]<br>\n";
  }
  
  echo "<p>\n";
  
  // Check if $prev is higher than or equal to 0, if so add the Previous-hyperlink
  if ($prev >= '0')
  {
     echo "[<a href=\"script.php?start=$prev&max=$max\">Previous</a>]\n";
  } else {
     echo "[Previous]\n";
  }
  
  // Count how many rows there are in the table
  $count = mysql_fetch_row(mysql_query("SELECT count(*) FROM table"));

  // Calculate on which page we are
  $thispage = ceil($start/$max+1);

  // If $count[0] is higher than $max, show the pagenumbers
  if ($count[0] > $max)
  {
     // Calculate the amount of pages
     $total = ceil($count[0]/$max);
     for($i=0;$i<$total;$i++)
     {
     	 // The number to show has to be $1+1 (because $i starts with 0)
     	 $number  = $i+1;
     	 // $start has to be $i * $max
     	 $start = $i*$max;

         // If thispage is equal to the number, the link has to be bold
         if ($thispage == $number)
     	 {
           echo "<strong>[<a href=\"script.php?start=" . $start . "&max=" . $max . "\">" . $number . "</a>]</strong>\n";
         } else {
           echo "<a href=\"script.php?start=" . $start . "&max=" . $max . "\">" . $number . "</a>\n";
         }
     }
  }

  // If $count[0] is higher than $next, show the hyperlink
  if ($count[0] > $next)
  {
     echo "[<a href=\"script.php?start=$next&max=$max\">Next</a>]\n";
  } else {
     echo "[Next]\n";
  }
  echo "</p>\n";
}
?>