Verständnisproblem: Datentyp SET bei MySQL

aleks

Mitglied
Abend Allerseits!
Wie der Titel schon sagt habe ich ein Verständnisproblem mit dem Datentyp SET. Laut MySql- manual handelt es hierbei um eine Liste wo man max. 64 Werte eintragen kann. So weit so gut.Wie ich das praktisch anwende ist mir aber nicht klar:confused:
Mein Problem ist jetzt ich habe in einem Anmeldungsformular für Checkboxen so 40 in zwei Gruppen (check1[] und check2[]). Also es soll in der Datenbank der Zustand aller vorhandenen Checkboxen gespeichert werden.So mit ja und nein.
Wäre nett wenn mir Jemand ein Beispiel gäben könnte
Gruß Aleks
 
Du kannst Dir die Funktionsweise so vorstellen:

Gespeichert wird in der Datenbank eine 64Bit-Integer wobei jedes Bit für einen der 64 Zustände steht.

Für Dein Beispiel müßtest Du also (z.B. mit Javascript auf Clientseite oder halt mit PHP auf Serverseite) die Umrechnung der 40 Checkboxen in ein 40 (64) - Bit Zahl vornehmen, bevor du speicherst.
Beim Auslesen das ganze entsprechend umgekehrt.

Du kannst die Berechnung beim Speichern auch MySQL überlassen (siehe MySQL)

Gruß
vop
 
Also erst mal danke. Ich hätte gerne einspiel dafür. Also z.b. man hat ein assoziatives array in einem Script
HTML:
p>
<span class="spalte1">
<input name="check2[meer]" type="checkbox" value="checkbox"><label for="meer" >Meer</label></span> 
<span class="spalte2">
<input name="check2[museen]" type="checkbox" value="checkbox"><label for="museen" >Museen</label></span> 
<span class="spalte3">
<input name="check2[kabarett]" type="checkbox" value="checkbox"><label for="kabarett" >Kabarett</label></span> 
<span class="spalte4">
<input name="check2[buecherei]" type="checkbox" value="checkbox"><label for="buecherei" >B&uuml;cherei</label></span></p>
. Also ich will damit folgendes machen:
1. Der Zustand der einzelnen Elemente(ja/nein) sollen in der Datenbank gespeicher werden. Wie geht das? Kann mir das Jemand genau erklären. Achja dieses Array befindet sich ineinem Formular. Wäre sehr nett wenn mir das Jemand erklären könnte. Danke schon mal.
Gruß Aleks
Könnte das mir Jemand genau erklären
 
Zurück