Da ich nach langer Zeit mal wieder ein PHP Problem
habe und mein Hauptforum
www.spotlight.de seit einiger
Zeit dicht ist wie ich eben gesehen habe versuche ich
es mal hier. :/
Hänge gerade fest mit meiner Bildergalerie.
Habe eine Bilder Datenbank wo aus verschiedenen Berichten
jeweils Bilder drin sind.
Natürlich mit einer auto_increment "IDnr" und dazu noch
eine "BerichtID".
In dem jeweiligen Bericht lasse ich dann zwei Links für
"ZURÜCK" und "WEITER" anzeigen. Vorher hole ich mir mir den
kleinsten und größten Wert damit der Link "ZURÜCK" bei
Bild 1 nicht zu sehen ist und "WEITER" beim letzten Bild
nicht zu sehen ist.
SELECT MAX(IDnr) as IDnr FROM berichtebilder WHERE BerichtID = '".$berichtidnr."'"
SELECT MIN(IDnr) as IDnr FROM berichtebilder WHERE BerichtID = '".$berichtidnr."'"
Das eigentliche Bild usw. hole ich mir so:
SELECT * FROM berichtebilder WHERE BerichtID = '".$berichtidnr."' AND IDnr = '".$nextpic."'
Für die Anzeige der Bilder nehme ich den Wert von "MIN" als
Startbild und dann kann man sich halt durchklicken. Für das
nächste Bild rechne ich zur Zeit: $nextpic = IDnr + 1
Oder für das vorherige Bild eben: $nextpic = IDnr - 1
Nun kann es aber sein, dass einige User via CMS ein paar
Bilder löschen und somit ist der Wert "IDnr" unterbrochen.
In meinem aktuellen Fall fehlen 5 Bilder und die "IDnr" geht
von 77 auf 82. Durch meine obige Rechnung geht der Klick auf
"WEITER" bei Bild 77 auf 78 natürlich ins Leere und es wird
kein Bild angezeigt.
Was kann ich tun um automatisch von 77 auf 82 zu springen?
Kann ich das irgendwie in meiner SQL-Anweisung unterbringen
oder muss ich das in Schleifen durchgehen? Hatte schon die
Idee das mit "file_exists" zu überprüfen aber das klappte
lediglich sofern nur eine IDnr fehlt und ich es einfach mit
der nächsten IDnr probiere. Aber da hier 5 Bilder in Reihe
fehlen bleibt er da wieder hängen. Komme hier absolut nicht
weiter. :/
Hier ist der aktuelle Stand live zu sehen:
*klick*