HTML-Tabelle Speichern

  • PHP

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von 3daycliff.

    HTML-Tabelle Speichern

    Hey,

    wie schaff ich es für jede Row einen String zurückgebkommen, mit einem ";" als seperator?
    im 1. Beispiel z.B.

    Mathis Hüttl;;a;;;u;;;;;;;;;;;;;;;;;;;;;;u

    Code sieht so aus:

    HTML-Quellcode

    1. <form>
    2. <table>
    3. <tr>
    4. <td class="spalte">Namen</td>
    5. <td class='spalte'>01</td><td class='spalte'>02</td><td class='spalte'>03</td><td class='spalte'>04</td><td class='spalte'>05</td><td class='spalte'>06</td><td class='spalte'>07</td><td class='spalte'>08</td><td class='spalte'>09</td><td class='spalte'>10</td><td class='spalte'>11</td><td class='spalte'>12</td><td class='spalte'>13</td><td class='spalte'>14</td><td class='spalte'>15</td><td class='spalte'>16</td><td class='spalte'>17</td><td class='spalte'>18</td><td class='spalte'>19</td><td class='spalte'>20</td><td class='spalte'>21</td><td class='spalte'>22</td><td class='spalte'>23</td><td class='spalte'>24</td><td class='spalte'>25</td><td class='spalte'>26</td><td class='spalte'>27</td><td class='spalte'>28</td><td class='spalte'>29</td><td class='spalte'>30</td> </tr>
    6. <tr><td>Mathis Hüttl</td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value='a'></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value='u'></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value='u'></td></tr><tr><td>NAME ZENISERT</td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td><td><input class='tb' type='text' value=''></td></tr>
    7. </table>
    8. </form>
    Bilder
    • Unbenannt.JPG

      34,95 kB, 1.344×90, 145 mal angesehen
    Wieso nimmst du nicht einfach eine Datenbank? Damit kannst du dann ganz einfach den richtigen parameter für dein Feld abtragen.
    Achja ist deine 100KM lange Zeile dein ernst ?
    Gruß K4RTOFF3L

    Das Problem zu erkennen ist wichtiger, als die Lösung zu erkennen, denn die genaue Darstellung des Problems führt zur Lösung. - Albert Einstein
    Vervollständige zunächst dein HTML mit dem action- und method-Attribut sowie einen Submit-Button für die Form und füge ggf. ein hidden-Input mit Zeilen- und Spaltenanzahl mit ein. Nun gibst du jedem Input noch einen Namen, z.B. table_ZEILE_SPALTE oder table[ZEILE][SPALTE]. (Die Namenspalte ist dann die Nummer 0.)
    Entsprechend kannst du dann im PHP-Skript über die Eingabefelder iterieren (mit Prüfungen auf gültige Werte, Vollständigkeit, Anzahl, ...) und baust dann den String über Konkatenation oder via implode zusammen.

    Beispiel:

    PHP-Quellcode

    1. // für name="table[ZEILE][SPALTE]"
    2. $inputRows = $_GET['table'];
    3. for($i = 0, $m = count($inputRows); $i < $m; ++$i) {
    4. $fields = $inputRows[$i];
    5. $ar = [];
    6. for($j = 0, $n = count($fields); $j < $n; ++$j) {
    7. $ar[] = $fields[$j];
    8. }
    9. $row = implode(';', $ar);
    10. }


    Beim Speichern dachtest du wahrscheinlich an eine CSV-Datei? Falls ja, bietet sich dann natürlich fputcsv an, anstatt den String selbst zusammen zu basteln. Oder nimm halt gleich ne DB wenn's möglich ist.