Hallo Andü,
PS: Vielleicht ist es noch sinnvoll mit zu erwähnen, dass ich eben damit Rechte für ein BlogSystem verwalten will und mir nicht 30 SQL-Spalten für 30 verschiedene Zugriffsrechte (welche ja jeweils nur FALSE oder TRUE sein können) anlegen will.
Das ist aber eigentlich sinnvoll - schließlich kannst du den Optionen so viel besser sprechende Namen geben. Allerdings unterstützt MySQL z.B. nicht den Boolean-Datentyp.
Wenn du die Optionen doch nur als Boolean abspeichern willst, gibt es z.B. diese Methode:
0001101001
D.h. du speicherst einen String ab, und jedes Zeichen (entweder 0 oder 1) steht für den Status dieser Option. Das ist allerdings etwas speicheranfälliger, da du ja eigentlich nur Boolsche Variablen brauchst.
Was du auch machen kannst, ist den einzelnen Optionen Zahlen zu geben:
[latex]2^0 = 1[/latex]
[latex]2^1 = 2[/latex]
[latex]2^2 = 4[/latex]
[latex]2^3 = 8[/latex]
[latex]2^4 = 16[/latex]
[latex]2^5 = 32[/latex]
und so fort.
Dann speicherst du die Optionen im Gesamten als eine Zahl ab, man nehme z.B. die Zahl 7, die sich aus den ersten drei Optionen (1 + 2 + 4) ergibt. Den Algorithmus, um aus einer solchen Zahl die einzelnen Optionen herauszufinden, verrate ich jetzt aber nicht - das solltest du noch alleine hinbekommen... ;-)
Dennoch: In einer Zeit, wo es Datenbanken gibt, die diese Dinge viel besser speichern können, ist das nicht wirklich gut. Was willst du machen, wenn eine der Optionen plötzlich mehr als 2 Zustände haben darf? Schon bist du mit diesem Prinzip aufgeschmissen, und musst komplett umsteigen. Daher geht meine Empfehlung an eine echte Datenbank-Lösung via Tabelle.
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
http://emmanuel.dammerer.at/selfcode.html