Zuerst noch: Wenn du Backslashes innerhalb von PHP-Code postest, musst du sie verdoppeln, sonst werden die vom Forum gefressen (scheint immer Hunger zu haben).
Dann zum Code:
Dann zum Code:
- natürlich muss die ORDER BY-Klausel auch angepasst werden.
- Wenn du LIMIT 1 angibst, brauchst du zum Auslesen keine Schleife
- Um einen Über- Unterlauf zu verneiden, gibst du den Blätter-Link nur dann an, wenn du noch nicht am Anfang/Ende bist
PHP-Code:
if (!isset($_GET['id'])){
die("No image defined");
}
else
{
$sql = "SELECT
MIN(id),
MAX(id)
FROM
bilder";
$res = mysql_query($query) || die('Ungültige Abfrage: ' . mysql_error());
list($min, $max) = mysql_fetch_row($res);
$id = $_GET['id'];
if (preg_match('/^\\d+$/', $id)){
$where = "WHERE id = $id";
}
elseif (preg_match('/^\\+\\d+$/', $id)){
$where = "WHERE id > $id ORDER by id ASC";
}
elseif (preg_match('/^-\\d+$/', $id)){
$where = "WHERE id < $id ORDER by id DESC";
}
else{
die("Invalid image id");
}
}
$query = "SELECT
id,
bildpfad,
bild
FROM
bilder
$where
LIMIT 1";
$result = mysql_query($query) || die('Ungültige Abfrage: ' . mysql_error());
$row = mysql_fetch_assoc($result);
echo "<td><img src='" . $row['bildpfad'] . "/" . $row['bild'] . "' alt='Bilder Johanna'></a></td><br>\n";
if ($id > $min){
echo "<td align='center'><a href='/index.php?ziel=fotoalbum&id=-$id'><button> < </button></a>";
}
if ($id < $max){
echo "<a href='/index.php?ziel=fotoalbum&id=+$id'><button> > </button></a></td></table>";
}
Kommentar