tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Dr Dau
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
2482
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Anubia Anubia ist offline Mitglied Silber
    Registriert seit
    Jul 2004
    Beiträge
    56
    Servus,

    kann mir einer helfen, wie ich mehrere Zeilen in eine DB Tabelle gleichzeitig eintragen lassen kann?

    Bsp.:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    <form>
    <input name="Service 1" type="checkbox" value="1">
    <input name="Service 2" type="checkbox" value="1">
    <input name="Service 3" type="checkbox" value="1">
    <input name="Service 4" type="checkbox" value="1">
    <input name="Service 5" type="checkbox" value="1">
    </form>

    Jeder dieser Werte der Checkboxen entspricht einer DBT Zeile.

    Ich denke das es nur über eine Schleife realisierbar sein kann,
    aber wie das genau funktioniert weis ich leider nicht und bin auf eure Unterstützung angewiesen.

    Vielen Dank vorab.
    greez
     

  2. #2
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    In der Form wirst Du wahrscheinlich nicht drumrum kommen jedes Formularfeld einzeln zu überprüfen.
    Nicht nur dass es unnötige Arbeit ist, ist es auch alles andere als flexibel.
    Daher würde ich die Checkboxen als Array anlegen:
    PHP-Code:
    <formaction="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        Service 1: <input name="form[]" type="checkbox" value="service_1"><br>
        Service 2: <input name="form[]" type="checkbox" value="service_2"><br>
        Service 3: <input name="form[]" type="checkbox" value="service_3"><br>
        Service 4: <input name="form[]" type="checkbox" value="service_4"><br>
        Service 5: <input name="form[]" type="checkbox" value="service_5"><br>
                  <input type="submit" name="auswahl" value="abschicken">
    </form>

    <?php
    if(isset($_POST['auswahl']) AND !empty($_POST['form'])) {

        for(
    $i=0$i<=count($_POST['form'])-1$i++) {
            echo 
    "INSERT INTO `tabelle`SET `servicewert`='1' WEHRE`servicename`='".$_POST['form'][$i]."'<br>";
        }
    }
    ?>
    Natürlich musst Du das Ergebins nicht per echo() ausgeben sondern per mysql_query() ausführen.
    Die Namen müssen auch angepasst werden.
    Aber das Prinzip dürfte eigentlich verständlich sein.

    Gruss Dr Dau
    Anubia bedankt sich. 
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  3. #3
    Anubia Anubia ist offline Mitglied Silber
    Registriert seit
    Jul 2004
    Beiträge
    56
    Vielen Dank für deinen Beitrag,
    soweit funktioniert alles.

    Wie ist es dann beim Auslesen der Werte aus der Datenbank?
    Wie lässt sich die Abfrage gestallten, wenn ich sehen will ob ein Wert des Arrays vorhanden ist?

    Bsp.:

    Code :
    1
    2
    3
    4
    5
    
    <?
    if (form[service_1] == form[$row['services']]) {
    echo "Service 1 ist vorhanden!";
    }
    ?>

    Kann ich die ArrayWerte auch in der Datenbank UPDATEN, wenn ja wie?

    Vielen Dank nochmal du hast mir einige Stunden grübelzeit abgenommen .
     

  4. #4
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Zitat Zitat von Anubia Beitrag anzeigen
    soweit funktioniert alles.
    Wundert mich jetzt eigentlich..... denn beim INSERT-Query gehört keine WEHRE-Klausel hin.


    Zeige mal die Tabellenstruktur mit 1-2 Beispieleinträgen.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  5. #5
    Anubia Anubia ist offline Mitglied Silber
    Registriert seit
    Jul 2004
    Beiträge
    56
    Die SQL Sache ist mir schon klar, die habe ich dementsprechend angepasst.
    Habe nur die Schleife von dir genommen.

    Hier die Struktur:

    id / produkt/ services /


    Die reine Update Funktion der Array Werte würde mich interssieren.
    Könntest du mir erklären, wie ich überprüfen kann ob,
    arrat Wert 1 oder array Wert 10 vorhanden ist?

    Und wie ich nur den Wert 1 oder Wert 10 updaten kann.
     

Ähnliche Themen

  1. [mySQL] mehrere Formulardaten gleichzeitig eintragen
    Von piano im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 26.04.08, 07:48
  2. Mehrere Datensätze auf einmal ändern MYSQL
    Von robaer1982 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 12.08.05, 17:15
  3. MySQL: mehrere Befehle auf einmal?
    Von pxlArtizzt im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 27.09.04, 14:05
  4. MS SQL Mehrere Datensätz auf einmal eintragen
    Von HKTele im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 15.04.04, 15:16
  5. Antworten: 1
    Letzter Beitrag: 05.04.04, 10:29