Seite 1 von 1

php Formular Problem

Verfasst: 02.06.2008, 00:46
von Ice Man
Hi, ich knoble gerade an einem Formular Problem.

Normal Form
jedes Eingabefeld hat einen Name
User gibt Werte ein, und Daten werden gespeichert.
Bei speichern, ganz normal update tabelle set Eingabefeld = wert.

Nun zum Problem.
Statt einer Festen Anzahl sollen die Formularspalten Variabel sein.
Einmal 5 Felder, ein anderes mal 8 Felder, jenachdem was der User vorher gewählt hat.

Die Zuweisung der Feldnamenerfolgt dann über eine ID aus der DB.
Soweit kein Problem.

Das Problem ist das Speichern.
Ich kann ja nun keinen normalen Update Codeschnippsel schreiben.
Da bei 5 Feldern müssen 5 Update Befehle vorhanden sein müssen und bei 8 Feldern müssen es 8 sein.

2. Problem, wie bekomme ich die Eingabefeld Namen nach dem Abschicken wieder so auseinander damit das Update Funktioniert ?

Bsp:
input type=\"text\" feld1=\"\"
input type=\"text\" feld4=\"\"
input type=\"text\" feld6=\"\"

Also die Feldnamen sind nicht fortlaufend.

In dem Fall brauch ich dann wieder feld1, feld4, feld6

Einmal bei z.B. 5 Formularfeldern besteht das Update aus 5 Eingabefeld Namen + der jeweilige Wert. Bei 8 Feldern müssen es dann 8 Eingabefeld Namen + die Werte sein.

Das einfachste wäre, in jede Zeile ein FORM Button, womit jede Zeile einzeln bestätigt würde. Aber das muss doch auch mit einem Button gehen oder ?

Ich hoffe man versteht das Problem :)

Verfasst:
von

Verfasst: 02.06.2008, 01:31
von w3news
Also so ganz schnalle ich nicht was Du da vor hast... :o
Aber bei dem ersten Problem, kannst Du doch jedes Update auch einzeln durchführen, Du musst ja nicht gleich alles mit einmal updaten, oder?

Das 2. Problem verstehe ich nicht...

Verfasst: 02.06.2008, 09:33
von Southmedia
Oben dran noch ein input hidden field in dem du per Komma getrennt die IDs der Felder speicherst die genutzt wurden.

Verfasst: 02.06.2008, 09:45
von Ice Man
@ w3news

Denn es um 8 Felder geht, müstest du jedes der 8 Felder einzeln speichern, ist doch etwas umständlich oder ;)

@ Southmedia
Du meinst, die Feldnamen in einem Arry speichern.
Stimmt das geht, diese könnte ich vor dem Update zerlegen.
Dann hätte ich das Problem mit den Feldnamen gelöst.

Vielleicht kann ich ja auch so problem 2 Löschen, mal Hirn etwas stressen :D

Verfasst: 02.06.2008, 10:15
von Fantomas
Hi,

die Feldname und Werte stehen alle in $_POST (oder $_GET).
Einfach in einer Schleife durchlaufen und dabei entweder für jedes Feld einzeln etwas mit der Datenbank machen oder ein SQL-Statement zusammenbauen, welches danach ausgeführt wird.

HTH
F.

Verfasst: 02.06.2008, 10:20
von Southmedia
Natürlich auch ne Möglichkeit. Hab ich mal weggelassen da es ja auch noch andere Felder geben kann, und die Entscheidung ist auf der Formularseite selbst definitiv einfacher zu treffen als nach dem Absenden.

Verfasst: 02.06.2008, 11:29
von Fantomas
oder einfach in jedem Formular andere Ziele für die Action eingeben (form1.php und form2.php) - da muss man am wenigsten von PHP verstehen...