mehrere Einträge nacheinander in mysql Zelle eintragen

petschni

Mitglied
Hallo,

ich habe ein Formular, das ein DropdownMenü enthält, aus dem man mehrere Einträge auswählen kann. Leider übernimmt er aber als Eintrag in die Datenbank immer nur die letzte Auswahl. Wie kann ich erreichen, dass er für eine Variable nicht nur den letzten Wert nimmt, sondern mehrere Werte?

viele grüße und danke
peter
 
Original geschrieben von petschni
Wie kann ich erreichen, dass er für eine Variable nicht nur den letzten Wert nimmt, sondern mehrere Werte?
Also Beispiel nehm ich mal folgendes Formular:

Code:
<form action="tmp.php" method="post">

<select name="test[]" size="4" multiple>
    <option value="foo">foo</option>
    <option value="bar">bar</option>
    <option value="foobar">foobar</option>
</select>
<input type="submit" value="senden">
</form>
Man beachte die Namenszuweisung beim Select-Element. Damit wird im PHP-Script, welches das Formular bearbeitet, ein Array angelegt.

Im PHP-Script kannst Du jetzt normal auf das Array zugreifen:

PHP:
<?php

print_r($_POST['test']);

?>
Ausgabe:
Code:
Array
(
    [0] => foo
    [1] => bar
    [2] => foobar
)
Es wird also für jede Auswahl ein Array-Element angelegt. Das Array kannst Du jetzt weiterverarbeiten. Willst Du z.b. alle Werte, die ausgewählt wurden, in eine Spalte in der Tabelle der Datenbank schreiben, hilft die Funktion implode():

PHP:
<?php

$select  = implode($_POST['test'],"|");
echo $select;
?>
Ausgabe:
Code:
foo|bar|foobar
 
Zurück