Galerie script

flying-anzi

Erfahrenes Mitglied
Hallo

Ich bin gerade beim Schreiben einer Galerie...
Wenn man ein Foto öffnet dann soll das vorige und das nächste foto angezeigt werden...

hier wie es optisch aussehen soll....
http://www.tk-kallham.com/v2/test/view.php

die Daten zu den Fotos sind in einer Datenbank gespeichert....


Die Bildernamen lauten zB.:
fasching08_img01.jpg
fasching08_img02.jpg
fasching08_img03.jpg
fasching08_img04.jpg
...

Wie ich es mir überlegt habe, wäre es am einfachsten zu lösen, wenn man einfach den vorhergehenden `Id` abruft und den folgenden...

oder gibt es da einen anderen Lösungsansatz

bitte Helft mir :D
Danke
 
Zuletzt bearbeitet:
Hallo, nimmst einfach die nächste und vorherige id, machst ein
PHP:
SELECT bildname FROM galerie WHERE id = $nextid

einfach als Beispiel...
 
Dankeschön....

Ich hab es selbst gerade mit mienem Lösungsansatz erledigt... und funktioniert auch wunderbar....

Aber trotzdem danke für die schnelle Antwort
 
Schöner wäre natürlich mit BETWEEN zu arbeiten...

Also

SQL:
SELECT `data`
FROM `table`
WHERE `id` BETWEEN 1 AND 2
 
Hallo,

soweit ich auf der Seite sehen kann, hast du die Links doch schon richtig.

Du musst doch nur noch das richtige Bild anzeigen!

Aber noch eine andere Lösung:
Wenn die Bildernamen alle so sind:
fasching08_img**.jpg
dann kannst du einfach z.B. in diesem Fall (GET-Variablen):
?name=fasching08_img&num=1&ext=jpg

Und wenn die Nummer (num) < 10 ist, dann einfach bei der Nummer für den Bildnamen eine 0 davor setzen (also wenn num=1, und das Bild heißt fasching08_img01.jpg, dann also eine 0 davor setzen).
Beispiel-Skript:
PHP:
$name = $_GET["name"];
$num = $_GET["num"];
$ext = $_GET["ext"];

//hier die Gesamtzahl der Bilder
$pics = 5;

//die Links für das nächste und vorherige Bild
$link_before = $name . ($num > 1 ? $num - 1 : $num) . $ext;
$link_next = $name . ($num < $pics ? $num + 1 : $num) . $ext;

//das Bild ausgeben
$img_path = $name . ($num < 10 ? "0" : "") . $num . $ext;

echo "<img src=\"{$img_path}\" alt=\"{$name} {$num}\">";

Ich hoffe ich konnte dir helfen :)

MfG
Fabsch
 
Zurück