<?php
// alle Fehler ausgeben
error_reporting(E_ALL);
// Array Pointer auf bestimmtes Element setzen
function set_pointer($ids,$id)
{
reset($ids);
if(current($ids) == $id)
return ($ids);
if(in_array($id,$ids))
{
while(next($ids) != $id){}
return($ids);
}
return (false);
}
// Aktuell anzuzeigene ID ermitteln
function getID($ids)
{
if(isset($_GET["id"]) && in_array($_GET["id"],$ids))
{
return ($_GET["id"]);
}
else
{
return current($ids);
}
}
// Array mit den vorhandenen IDs
$my_host = "x";
$my_dbname = "x";
$my_user = "x";
$my_pass = "x";
$my_tablename = "x";
$link = mysql_connect($my_host, $my_user, $my_pass);
if (!$link)
die("Kann den Server nicht erreichen.");
if (!mysql_select_db($my_dbname, $link))
die("Kann die Datenbank nicht anwählen.");
$result = mysql_query("SELECT * FROM `{$my_tablename}`")
or die(mysql_error());
$ids = array();
while ($row = mysql_fetch_assoc($result))
{
$ids[] = $row["id"];
}
// Anzuzeigene ID bekommen
$id = getID($ids);
//nächste ID
$ids = set_pointer($ids,$id);
if(current($ids) == $ids[(count($ids)-1)])
{
reset($ids);
$next_id = current($ids);
}
else
{
$next_id = next($ids);
}
//vorherige ID
reset($ids);
$first = current($ids);
$ids = set_pointer($ids,$id);
if(current($ids) == $first)
{
$prev_id = $ids[(count($ids)-1)];
}
else
{
$prev_id = prev($ids);
}
//Link ausgabe
echo '<a href="test2.php?id='.$prev_id.'">vorherige ID ('.$prev_id.')</a><br>'."\n";
echo '<a href="test2.php?id='.$next_id.'">nächste ID ('.$next_id.')</a>';
?>