Gedankenknoten bei html, php & form action zum befüllen einer Tabelle

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gedankenknoten bei html, php & form action zum befüllen einer Tabelle

    Hallo!

    Ich brüte gerade an einem Problem, und finde irgendwie keinen Ansatz, um das zu lösen. Ich möchte eine Art Rechnung erstellen. Folgende Situation:

    Ich habe eine HTML Tabelle mit 5 Spalten. Diese Spalten sind:
    Pos | Menge | Artikel | Preis | Gesamt.

    Unter dieser Tabelle ist eine <select> Auswahl, die die entsprechenden Artikel bereit hält, daneben der dazu gehörige Button [Einfügen].
    Diese Tabelle soll nun beliebig lang mit Artikeln befüllt werden, muss also bei jedem klick auf [Einfügen] eine neue <tr> ... </tr> mit entsprechendem <td> ... </td> Inhalt bekommen.

    Damit das passieren kann, denke ich mir das so:
    Das Ganze Gerüst wird in eine <form> geschrieben, und dann bei Klick auf [Einfügen] an sich selbst geschickt mit <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">

    Bei diesem Klick muss ja nun Einiges passieren:
    - Es braucht eine Schleife, die mit i++ die Tabellenzeilen für Pos. hoch zählt,
    - Der Inhalt aus <select> muss eingefügt werden,
    - die Spalte Preis muss sich mit dem fehlenden Wert füllen,
    - Das Feld "Gesamt" muss sich selbst berechnen, je nach dem, welcher Wert bei "Menge" eingetragen ist. (Das soll auch nach dem Erstellen der Positionszeile noch veränderbar sein.)
    - und unter der Tabelle muss sich natürlich eine Gesamtsumme bilden.

    Erst dann, wenn diese html-Tabelle erstellt und fertig ist, kann mit Klick auf einen weiteren Button [speichern] der Inhalt in eine MySQL Datenbank geschrieben werden.

    Ich bin nun leider völlig zu, und weiss nicht, wie ich am Besten da ran gehe.
    Lege ich mir ein Array an? Oder schiebe ich die Daten bei jedem [Einfügen] bereits in die MySQL Datenbank, und rufe sie dann quasi sofort wieder ab?

    Wie realisiert man sowas effektiv? Hat jemand eine Idee? Oder sowas als Schnipsel irgendwo rum liegen?

    Danke & Gruß,
    Gruss,

    Volker

  • #2
    Du kannst die Daten auch beim Benutzer temporär speichern, in einem Formular dass du jedes mal wieder aufrufst, auswertest und an den Browser zurücklieferst - also in den $_POST-Daten. Du musst nur aufpassen, wenn sowas wie Suhosin installiert ist, da gibt es maximale Formulargrößen.

    Kommentar


    • #3
      OK, Danke!

      ich habe mich dafür entschieden, die Datenbank jedesmal zu updaten, ich glaube, die Lösung gefällt mir besser...
      Ist zwar etwas mehr Aufwand, aber dann geraten die POST Daten nicht durcheinander, und ich umgehe die "Header already sent"-Gefahr...
      Gruss,

      Volker

      Kommentar

      Lädt...
      X