[MySQL] Mehrere Zeilen auf einmal eintragen

Anubia

Mitglied
Servus,

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

Bsp.:
Code:
<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
 
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:
<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
 
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:
<?
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 :).
 
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.
 

Neue Beiträge

Zurück