Hallo
das mit id ist ja sinnvoll...aber wenn man zB bilder in einer gallery mit "lücken" nummeriert wirkt es "seltsam".. ist denn "mysql_num_rows+1" & "nummerspalte" die einzige Möglichkeit??
nun, da fordert jemand ganz anscheinend Fotogalleryfotonamen mit Namensgebung a la "um eins hochzählende und Zahlenfolge mit dem vermuteten Startwert 1 (oder 0)".
dieser Zusammenhang entgeht mir. Was hat eine Numerierung mit Namen zu tun? Wo wurde darauf auch nur angespielt?
Der letzte Satz steht damit in einem Kontext, ergibt aber nur eingeschränkt einen Sinn, richtig. Aber man könnte dennoch mehr als "Bahnhof" verstehen, oder? :)
Ich verstehe Deine Auslegung, kann diese beim besten Willen nicht in jenem für mich schwer zu lesenden Absatz wiederfinden :-) Wenn der OP dies meinte, dann hat er dies meiner Meinung nach sehr unglücklich formuliert.
Ja, das Problem einigermaßen genau zu beschreiben - und sich nicht in irgendwelchen Symptomen zu verheddern - das ist der beste Weg, sogar selbst eine Lösung zu finden.
Nein, ich bemühe mich schon, zwischen den Zeilen zu lesen - und bestehe nicht auf der Auslegung exakt nach dem Wort.
Nein, das verstehe ich nicht. Unabhängig davon, ob die Galerieseite zur Laufzeit generiert wird oder ein Caching-Mechanismus greift, sollte mein Vorschlag für MySQL (das ja hier im Einsatz ist) völlig ausreichend sein.
Deine benutzerfreundlichen IDs werden zur Laufzeit erstellt.
Zur Laufzeit des Skriptes. Dies kann einmalig sein, dies kann zu verschiedenen Zeitpunkten der Fall sein, je nach Bedarf.
Genau das ist oft nicht ausreichend. In unserem Fall? Tja, wenn der Patient schwierig ist und bspw. statische Verweise auf die netten Fotos irgendwo in seiner Website einbaut (ist ja nicht unwahrscheinlich - "ich würde es machen") oder wenn die Fotos gedownloadet werden, dann möchte man ja eigentlich schon Eindeutigkeiten.
Wenn es darum gehen sollte, den neuen Namen für das neue Bild zu finden, dann muss die Anwendungslogik verschiedene Fälle betrachten, die im Ausgangsposting nicht erwähnt sind:
Einfügen, die leichte Operation:
Einfügen ist selbstverständlich nur am "Ende" möglich. Soll nur ein neues Bild in die Galerie eingefügt werden, so ist es natürlich Unsinn, Daten aller relevanten Datensätze abzufragen, eventuell sogar bequem mit SELECT * FROM ..., die Daten anzufordern - und wegzuwerfen. Für soetwas gibt es COUNT().
Löschen, die schwierige Operation:
Ist es möglich, ein Bild zu löschen. Wenn ja, müssen innerhalb einer Galerie die Bilder umbenannt werden. Dazu wäre mein Statement als Ansatz brauchbar. Wie Rouven bereits schrieb, wären in einem solchen Fall Trigger durchaus nett. Ich weiß allerdings nicht, wie man die Race Condition zwischen Umbenennen der Dateien, Ändern der Links und Ändern in der Datenbank vermeiden kann. Man könnte sie als unvermeidbar für einen sehr kurzen Zeitraum hinnehmen. Mein Schluss lautete im Anwendungsfall jedoch: verzichte auf das Umbenennen, akzeptiere dass generierte Namen "Lücken" aufweisen.
Die Alternative: Bilder werden nicht gelöscht.
Ich persönlich finde nicht, dass durchnumerierte Bilder wirklich benutzerfreundliche Namen tragen. Meine persönliche Ansicht von Benutzerfreundlichkeit sieht anders aus; ich fürchte, dass meine Vorstellung von benutzerfreundlichen Namen mit Handarbeit verbunden ist; diese darf man bei Galerieskripten dem Anwender weder zumuten noch überhaupt erlauben. So landet man aus praktischen Erwägungen doch bei generierten Namen :-(
Freundliche Grüße
Vinzenz