MySql Bilder vor und zurück button
Tunnel85
- datenbank
0 Texter mit x0 Tunnel850 bleicher0 Tunnel85
0 Texter mit x
0 Tom0 Texter mit x0 Tom
Hallo zusammen,
habe in meiner Seite ein Uploadscript für mehrere Bilder. Die Daten werden in einer MySql Tabelle gespeichert. Bis jetzt war es so, das ich die Bilder selber eingepflegt habe, allerdings soll das jetzt durch dieverse Personen geschehen. Bis jetzt konnte ich die Bilder anzeigen lassen, um an Hand der ID auf das nächste, bzw. das vorherige Bild verlinken (Schleife i++). Das Problem ist wenn nun ein Datensatz gelöscht wird, kann ich ja nicht mehr an Hand der ID weiterzählen. Wie bekomme ich trotzdem meine weiterbuttons ???
Habe leider absolut keine Idee wie ich es hinbekommen könnte, bin also um jeden Tipp dankbar
Gruß
Tunnel
Bei der Abfrage nach id sortieren, nach größergleich der nächsten, potentiell gelöschten ID suchen und Limit auf 1 setzen.
Bei der Abfrage nach id sortieren, nach größergleich der nächsten, potentiell gelöschten ID suchen und Limit auf 1 setzen.
Hi,
danke erstmal, aber so ganz verstanden hab ich es noch nicht.
wie soll ich den nach der nächsten gelöschten id suchen???
Und wieso größergleich???
Gruß
Tunnel
Grüße,
danke erstmal, aber so ganz verstanden hab ich es noch nicht.
wie soll ich den nach der nächsten gelöschten id suchen???
WHERE id>=n LIMIT 0,1 nehme ich an.
Und wieso größergleich???
für den fall dass es nicht oder gelöscht wurde.
Gruß
Tunnel
MFG
bleicher
Das ist ja total einfach....
Hätte man eigentlich selber drauf kommen können...
Ist irgendwie nicht mein Tag heute...
Komisch nur das ich trotz langer Suche nichts zu dem Thema gefunden habe...
Tausend Dank an Euch und den Freiden der Nacht
Gruß
Tunnel
Es ist doch so oder?:
Bild|id
abcd|1
efgh|2
...
xyz|10
Jedes neue Bild bekommt eine neue höhere id (autoincrement).
Wenn das aktuelle Bild die id 3 hat, dann sucht man nach >=4. Da die Suche nach id sortiert erfolg und nur ein Ergebnis zurückgegeben wird, wird das die nächsthöhere vorhandene id nach id 3 sein (oder es gibt keine mehr, dann wird ein leeres Ergebnis zurückgegeben).
Du kannst auch nach größer als aktuelle id suchen, das kommt auf Gleiche raus.
Für die nächst niedrigere id bekommst Du das nun sicher selber hin.
Hello,
[...] wenn Du die Daten per Get-Parameter übergibst, würde der dann z.B. so aussehen:
http://example.com/galerie/show.php?id=15&cmd=next
und im Script käme dann im Array $_GET an
$_GET['id'] -> 15
$_GET['cmd'] -> next
und das kannst Du dann abfragen:
$id = 0;
if (isset($_GET['id']))
{
$id = intval($id); ## intval(), um Injection bei $id zu verhindern
}
if (isset($_GET['cmd']) and $_GET['cmd'] == 'next')
{
$sql = "select picpath
from gallery
where id
> '$id' order by ìd
limit 1";
}
elseif (isset($_GET['cmd']) and $_GET['cmd'] == 'prev')
{
$sql = "select picpath
from gallery
where id
< '$id' order by ìd
desc limit 1";
}
elseif ( ... )
{
## weitere Commands
}
else
{
## defeult, falls kein Kommando vorhanden ist
}
Die aktuelle ID kannst Du entweder im Link, oder wenn Du ein Formular mit der Post-Methode nutzen willst, auch als hidden-Value übertragen oder noch besser speicherst Du sie dann in der Session und gibst sie dem Client gar nicht bekannt. Die Kommandos reichen dann ja.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
Die aktuelle ID kannst Du entweder im Link, oder wenn Du ein Formular mit der Post-Methode nutzen willst, auch als hidden-Value übertragen oder noch besser speicherst Du sie dann in der Session und gibst sie dem Client gar nicht bekannt. Die Kommandos reichen dann ja.
Damit jede Seite einzeln verlinkbar ist, Stichwort Benutzerfreundlichkeit, sollte die aktuelle id im Link stehen. Wenn man das macht, ist es beim Button auch nicht nötig sich bedeckt zu halten (außerdem kopiere ich oft das Linkziel aus dem Link und nicht aus der Adreßzeile).
Hello,
Die aktuelle ID kannst Du entweder im Link, oder wenn Du ein Formular mit der Post-Methode nutzen willst, auch als hidden-Value übertragen oder noch besser speicherst Du sie dann in der Session und gibst sie dem Client gar nicht bekannt. Die Kommandos reichen dann ja.
Damit jede Seite einzeln verlinkbar ist, Stichwort Benutzerfreundlichkeit, sollte die aktuelle id im Link stehen. Wenn man das macht, ist es beim Button auch nicht nötig sich bedeckt zu halten (außerdem kopiere ich oft das Linkziel aus dem Link und nicht aus der Adreßzeile).
Das ist eine Voraussetzung, dass man das festlegt. Soll verlinkt werden können, oder nicht?
Das sollte für jeden Abschnitt in einem System eindeutig bestimmt werden bei der Programmplanung.
Nicht verlinkbare Selektionen sind dann tunlichst als Post aufzubauen.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg