phpbar.de logo

Mailinglisten-Archive

[php] Formular für Tabelleneingabe dynamisch erweitern

[php] Formular für Tabelleneingabe dynamisch erweitern

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Don Mar 15 19:07:52 CET 2007


Hallo Simon,

Am Donnerstag, 15. März 2007 15:42 schrieb Simon Bienlein:
> tabellarische Daten sollen vom Anwender über ein einfaches Formular
> selbst gepflegt werden. Beim Speichern lege ich die Daten in einer
> MySQL- Tabelle ab um sie später auszugeben und erneut editierbar zu
> machen.
>
> Mein Problem: Die Tabelle besteht z. B. aus drei Spalten. Die Anzahl
> der Zeilen kann vom Benutzer geändert werden. Er soll an beliebiger
> Stelle eine neue Zeile einfügen können. Eine Zeile kann gelöscht oder
> nach oben/unten verschoben werden.
>
> Löst man so etwas besser per Javascript oder PHP und gibt es schon
> fertige Lösungen für meine Aufgabenstellung? Habe im Web leider keine
> gefunden.
>
> Das Löschen einer Zeile klappt mittels Javascript. Doch beim Einfügen
> einer neuen Zeile und dem Verschieben komme ich nicht weiter.
>
> Vielen Dank im Voraus für eure Anregungen und Hilfe.

das Hinzufügen und Verschieben von Zeilen wirst Du immer in gewisser 
Weise auf der PHP-Seite abwickeln müssen. Die Frage ist, wie willst Du 
die Pflegeoberfläche gestalten.

Da kannst Du zum einen den klassischen Weg gehen, ähnlich wie das in 
phpMyAdmin funktioniert, d.h. es gibt einen Link "Einfügen". Klickt man 
darauf, öffnet sich ein Fensterchen oder wie/was auch immer, man 
tippert seine Daten inklusive gewünschter Position in der Tabelle in 
die Felder und speichert das Ganze.
Verschieben ginge analog, indem Du ein editierbares Feld mit der 
Position der Zeile in der Tabelle hast. Man kann dann die gewünschte 
Position eintragen und das Formular abschicken. Das kann zuweilen aber 
etwas mühselig sein, wenn man eine Menge Zeilen hin- und herschieben 
möchte. :-)

Richtig Klasse wäre natürlich eine AJAX-basierte 
Ziehen-und-Ablegen-Oberfläche.
Man könnte dann z.B. an eine Stelle in die Tabelle klicken und 
sagen: "Neue Zeile einfügen". Dann würde an dieser Stelle die neue 
Zeile eingefügt, und Du könntest die Felder füllen.
Bei Verschieben wäre eine AJAX-Lösung besonders komfortabel. Wie in 
einem Desktopprogramm könntest Du dann eine oder mehrere Zeilen 
markieren und einfach mit der Maus verschieben.
So komfortabel das für Anwender ist, so anspruchsvoll ist dann natürlich 
auch die Umsetzung für Dich. Solche Oberflächen erfordern schon eine 
ganze Menge Arbeit bei der Programmierung und müssen besonders 
gründlich getestet werden. :-)


Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive