Eine HTML-Tabelle um Zeilen erweitern und in DB schreiben

borgplasma

Grünschnabel
Hallo,
ich bin gerade an einem Projekt, wo ich momentan an meine Grenzen stoße, und keine rechte Idee habe, wie ich dieses realisieren kann:

Ich habe auf einer PHP Seite eine HTML-Tabelle eingebettet, welche in den Zellen Textfelder hat.
Diese Tabelle dient als Formular, um damit eine MySQL-Tabelle zu befüllen.

Was ich habe und was funzt, ist, das diese Tabelle eine Zeile haben kann, und diese speichere ich in die DB-Tabelle.

Nun stehe ich vor der Herausforderung, das ich eine HTML-Tabelle brauche, welche ich
a) mit einen "knopfdruck" (Button) um eine Zeile erweitere (um weitere Datensätze zu erfassen), und
b) ich diese dann mehrere Datensätze dann abschließend in die DB schreiben möchte.

(Ich möchte also nicht einen Datensatz erfassen, speichern, Tabelle leeren und erneut daten erfassen, speichern usw. Ich benötige die Übersicht der bereits erfassten Daten, ob sie vollständig und fehlerfrei sind.)

Ein kleines Beispiel, wie ich die Tabellen bislang realisiert habe (auf zwei Spalten beschränkt, damit der Code nicht zu lang wird):

==========
PHP:
$maxrcid = $db->query("SELECT MAX(register_constellation_id)+1 AS MaxID FROM REGISTER_CONSTELLATION;") or die($db->error);

if ($maxrcid ->num_rows) {
    echo "<p>Daten ausgewählt: ". $maxrcid ->num_rows ." Register-Constellations</p>";

        while($datensatzrcid = $maxrcid->fetch_object()) {
            $datenrcid[] = $datensatzrcid;           
    }
}


<form method="post" action="saveregisterconst.php">
<html>
 <head>
  <meta charset="utf-8">
    <style>
     table {width: 95%;}
      th { background-color: #666; color: #fff; }
      tr { background-color: #fffbf0; color: #000; }
      tr:nth-child(odd) { background-color: #e4ebf2 ; }
      </style>
     </head>
    <body>
   <main>
    <table>
        <thead>
            <tr>
                <th>RegConst. ID</th>
                <th>RegConst. Name</th>
        [...hier noch weitere Spalten...]
            </tr>
        </thead>
        <tbody>
                <tr>
                <?php
                    foreach ($datenrcid as $inhaltrcid) {
                ?>

            <td><input type="text" name="register_constellation_id" value="<?php echo $inhaltrcid->MaxID; ?>" readonly></td>
        <?php
            }
        ?>           
            <td><input type="text" name="register_constellation_name"></td>
        [...hier noch weitere Spalten...]
        </tr>
    </tbody>
    </table>
   </main>
  </body>   
  <p><input type="submit" value="RegConst.Name speichern" name="submit"  /></p>
  </html>
 </form>
<?php

==========

Habe ich irgendwas vergessen zu erwähnen / undeutlich beschrieben?

Ich danke euch für eure Unterstützung !!!!!!

Grüßle
Oliver
 
Das (gedankliche) Puzzelteil, was mir noch fehlte, war, das die Datenzeile über die Array-Number (bzw. den Array-Index) zusammengehalten wird.
Und über den muss ich dann solange iterieren, wie ich Elemente habe (ermittle ich per count(Array) ), und schreibe dann so die Werte per Insert-Into SQL ind die DB.

Vielen Dank, sempervivum, für die richtigen "Hinweise" so dass ich auf die Lösung kommen konnte !!!!

Grüßle
Oliver
 
Zurück