Mehrfachauwahl Chekcboxen in SQL speichern

KnowSlayes

Grünschnabel
Hallo liebe Forum Mitglieder,

ich habe schon einige male die Suchfunktion hier benutzt und bin bis jetzt auch immer fündig geworden, nur diesmal stecke ich fest. Ich hoffe auf eure Ideen.

Ich habe eine SQL Datenbank in der 2 Tabellen sind. Die erste Tabelle speichert die Benutzerdaten: Namen, Vornamen, Websuche. Die zweite Tabelle speichert den Namen der Websuchmaschinen.

In einen Formular kann jeder Benutzer per Checkbox die Suchmaschinen anklicken, die er gerne benutzt. Somit ist auch eine Mehrfachauswahl möglich.

Wie würdet ihr nun die Mehrfachauswahl der Checkbox speichern****?

Ich hatte erst überlegt die Suchmaschinen Binär darzustellen und die Dezimal Wert zu speichern. (Bsp. Google 1; Yahoo 2; Bing 4 – Auswahl Bing und Google ergibt 5)

Das speichern des Wertes ist kein Problem, nur das zurück lesen ist schwierig, da ich die Namen ja auch aus der zweiten Tabelle laden möchte.

Ich bin gespannt auf euren Lösungsideen.

Liebe grüße KnowSlayes
 
Also je nachdem wie viele verschiedene Werte du hast, kannst du es auch als z.B. Komma separierte Liste in einem Feld speichern. So in der Art "1, 2, 4, 7, ...".

Beim Auslesen kannst du diese Werte dann per explode in ein Array zerlegen.

NACHTRAG:
Je nachdem wie du die Daten aus der Tabelle ausliest, kannst du die Liste auch so belassen und die Abfrage mit FIND_IN_SET durchführen:

SQL:
SELECT * FROM deine_tabelle WHERE FIND_IN_SET(dein_feld, "1, 2, 4, 7")
 
Zuletzt bearbeitet:
Ich würde einfach eine 3. Tabelle erstellen

1. Benutzer (ID, Name, ...)
2. SuMa (ID, Name,...)
3. Benutzer_SuMa (UserID, SuMaID)

und dann einfach per SQL-Query dir alles holen SELECT ... WHERE Benuter.id=SESSION
 
Zurück