Helmut Weber: Struktur

Beitrag lesen

Guten Morgen SelfForum.

Ich habe einen Online-Produktkatalog erstellet, mit dem der Kunde seine Produkte selbst pflegen kann.
Das Skript zur Pflege der Produkte ist im Prinzip in 5 Unterprogramme aufgeteilt: Index, New, Edit, Save und Delete.
Die Unterprogramme "New" und "Edit" öffnen das selbe HTML-Formular, nur das eben bei "Edit" die Formularfelder aus der Datenbank gefüllt werden. Im Formular gibt es ein "hidden"-Feld, in dem die Datensatz-ID eines zu ändernden Produktes eingetragen wird.
Im Unterprogramm "Save" speichere ich die Daten des HTML-Formulars in eine Datenbank. Wenn eine Datensatz-ID übergeben wurde handelt es sich um eine Änderung (also SQL-UPDATE), wenn nicht um eine Neuanlage (SQL-INSERT).

Soweit so gut!
Jetzt möchte ich aber einen Produkt auch ein Bild aus der Datenbank zuordnen können können. Das mache ich über eine Kreutztabelle (Produkt-ID und Bild-ID). Dazu brauche ich im HTML-Formular jedoch eine Produkt-ID, die bei der Neuanlage eines Produktes noch nicht zur Verfügung steht. Diese wird erst per auto_inkrement von der Datenbakn beim Anlegen des Produktes erzeugt. Also muss jedes neue Produkt erst gespeichert werden, dann zum Editieren neu geöffnet werden, und kann dann mit einem Bild verknüpft werden (umständlich für den Benutzer).
Ein weiterer Lösungsansatz wäre, im Unterprogramm "New" ein neues "leeres" Produkt in der Datenbank anzulegen, die ID ermitteln, und diese dann an das Formular zu übergeben. Im Unterprogramm "Save" gibt es daher dann nur noch ein SQL-UPDATE, das die Neuanlage schon im Unterprogramm "New" gemacht wurde.
Dabei habe ich allerdings das Problem, dass es in der Datenbank zu unvollständigen Datensätzen kommen kann, wenn enin Benutzer das Anlegen eines Produktes abbricht. Diese unvollständigen Daten muss ich dann irgendwie herausfiltern und/oder löschen.

Ich hoffe mein Anliegen ist einigermaßen verständlich ;)
Mich würde es interessieren, wie Ihr in solchen Fällen vorgeht, und was eurer Ansicht nach der bessere Weg ist. Vielleicht gibt es gar eine ganz andere Lösung, die mir biher verborgen blieb :9

Gruß
Helmut Weber

--
-------------------------------------------
Mode ist eine Variable, Stil eine Konstante