Mehrfachauswahl in Datenbank speichern

webpagemaster

Erfahrenes Mitglied
Hallo,

Wie kann ich eine Mehrfachauswahl, siehe beispiel, mittels PHP in eine MySQL Datenbank speichern?

Gibt es dafür einen speziellen Feldtypen, oder...?

HTML:
form action="select.htm">
  <p>
    <select name="top5" size="5" multiple>
      <option value="1">Heino</option>
      <option value="2">Michael Jackson</option>
      <option value="3">Tom Waits</option>
      <option value="4">Nina Hagen</option>
      <option value="5">Marianne Rosenberg</option>
    </select>
  </p>
</form>
 
Die Daten werden in dem Array $top5 gespeichert. Die erste Auswahl befindet sich also in $top5[0], die zweite in $top5[1] usw.
In Mysql speicherst du dann einfach eine Kette dieser Variablen oder in jede Spalte eine Auswahl. Weißt du wie das funktioniert?
 
Hmm, ich werds mal ausprobieren,

wenn ich dich richtig verstanden habe, dann würde ich also entwerder in einem Feld die ganzen Werte (vermutlich durch trennzeichen getrennt) abspeichern z.b: 1,3,5,

oder eine eigene tabelle dafür anlegen...
 
Zusatz zu dem Tipp von Veränderung:
Du müsstest jedoch den Namen von dem Feld auch als Array kennzeichnen, d.h. name="top5[]". Anschließend könntest du diesen Array per Schleife auslesen und mit diesen Werten die DB füttern...
 
Nur weil das Auswahlfeld die Möglichkeit bietet, mehrere Auswahlen zu treffen, muss das nicht heissen, dass PHP das auch versteht. Damit PHP versteht, dass dort mehrere Sachen selektiert werden können, muss der Name (welcher ja gleichzeitig die Variable für dieses Feld darstellt) als Array gekennzeichnet werden -> top[]. Ohne diese Klammern denkt PHP, es sei ein einfacher String und speichert somit nur den ersten ausgewählten Eintrag ab.
 
Zurück