Ankündigung

Einklappen
Keine Ankündigung bisher.

Eintragen von mehreren Einträgen gleichzeitig

Einklappen

Neue Werbung 2019

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

  • Eintragen von mehreren Einträgen gleichzeitig

    Hallo Forum !

    Problem:

    Ich möchte 2x5 inputfelder gleichzeitig übergeben d.h.

    Ich habe eine tabelle die 2x5 felder hat (eingabefelder) die alle den gleichen namen haben Beispiel:

    Vorname(feld1) /Nachname(feld2)
    Vorname(feld1) /Nachname(feld2)
    Vorname(feld1) /Nachname(feld2)
    Vorname(feld1) /Nachname(feld2)
    Vorname(feld1) /Nachname(feld2)

    und den befehl für sql dazu

    Code:
    $eintrag= "insert into db (feld1,feld2) values ('$feld1','$feld2' )";
    $eintragen=mysql_query($eintrag) or die (mysql_error());
    die tabelle hat die spalten id (autoincrement),feld1 und feld2 folglich
    haben die eingabefelder auch diesen wert.

    wie bekomme ich es hin das sql jede zeile eine eigene ID verpasst und die Eingaben auch darunter speichert und das auchnoch gleichzeitig

    Ich habe einfach keine Lösung gefunden,aber es muss eine geben,denn ein warenkorb muss ja so ähnlich aufgebaut sein.

    Vielen Dank für jeden Tip

  • #2
    Eine Möglichkeit bei fixer Anzahl von Inputs:
    Code:
    Vorname(feld1) /Nachname(feld2) 
    Vorname(feld3) ...
    ... /Nachname(feld10)
    Code:
    insert into db (feld1,feld2) values ('$feld1','$feld2' )";
    [...]
    insert into db (feld1,feld2) values ('$feld9','$feld10' )";
    Bei variabler Anzahl von inputs arbietet man üblicherweise mit Arrays:
    <input name='feld[0][vorname]'><input name='feld[0][nachname]'>
    <input name='feld[1][vorname]'><input name='feld[1][nachname]'>
    etc... (oder ähnlich)

    Beim Speichern kannst Du dann dein Array durchlaufen und Zeile für Zeile(Datensatz für Datensatz) speichern.

    Kommentar


    • #3
      Solange die Felder den gleichen Namen haben? Wie soll das gehen?

      Versuch mal Folgendes (hier nur mit 3 Zeilen zur Veranschaulichung):

      HTML-Formular:
      Code:
      <input type="text" name="f[0][vorname]"><input type="text" name="f[0][nachname]">
      
      <input type="text" name="f[1][vorname]"><input type="text" name="f[1][nachname]">
      
      <input type="text" name="f[2][vorname]"><input type="text" name="f[2][nachname]">
      Vorbereitungsroutine des DML-Strings für die Datenbank:
      Code:
      $values=array();
      foreach ($_REQUEST['f'] as $v) {
          $values[]="('{$v['vorname']}', '{$v['nachname']}')";
      }
      $sql = "
          insert into table ( field1, field2) 
              values ( ".implode(', ',$values)." )";
      $eintragen=mysql_query($sql) or die (mysql_error());
      Hinweis: Geht soweit ich weiss nur mit MySQL. Oracle kennt keine multiplen Inserts

      Grüsse

      Lev

      Kommentar


      • #4
        Hallo Forum !

        Vielen Dank für die schnelle Hilfe,ich habs zwar noch nicht hinbekommen mit euren Vorschlägen bin aber am probieren.

        Gruß COatl

        Kommentar

        Lädt...
        X