Hallo,
ich möchte mehrere werte durch ein Mehrfachauswahlfeld auswählen und in der DB in einem feld speichern. Diese Werte sollten dann durch ein Komma getrennt werden. Es handelt sich dabei um die Werte 1-12. ich möchte dann einträge anzeigen lassen, welche ein oder mehrere der Werte beinhalten.
Wenn ich nun mehrere werte in dem formular auswähle wird immer nur der letzte wert gespeichert. Könnt ihr mir weiterhelfen?
gruß max
Mehrfachauswahl in mysql speichern?
-
-
Hast bei den Checkboxen name="foo[]" ?
Man beachte die eckigen Klammern. -
in etwa so:
Formular:Code
Alles anzeigen<form action="action.php" method="post"> 1<input type="checkbox" name="wert[]" value="1" /> 2<input type="checkbox" name="wert[]" value="2" /> 3<input type="checkbox" name="wert[]" value="3" /> 4<input type="checkbox" name="wert[]" value="4" /> 5<input type="checkbox" name="wert[]" value="5" /> 6<input type="checkbox" name="wert[]" value="6" /> etc. <input type="submit" value="senden" /> </form>
action.php
PHP//query erstellen $sql = "INSERT INTO tabelle (feld) VALUES( '" .mysql_real_escape_string(implode(',', $_POST['wert'])). "' )"; if(!mysql_query($sql)) die(mysql_error()); else echo'eingefügt';
Gruß,
jojo -
Bloß würde ich das nicht mit dem ',' machen: Wenn du richtig MySQL-Abfragen damit nutzen willst, solltest du eine eigene Tabelle dafür machen. Ansonsten kannst du Platz sparen, indem du die Zahlen hexadezimal kodierst, vor allem auch mit größeren Zahlen. (http://de.php.net/bin2hex)
-
oiii, danke für die schnellen antworten, ich werde das gleich ausprobieren
-
-