use Mosche;
In der Datenbank muss dann lediglich pro Checkbox und Anbieter eine Flag gesetzt werde, ob die Leistung angeboten wird und somit die Checkbox aktivert werden muss. Mir erscheint es allerdings etwas umständlich, die Tabelle der Anbeiter einfach um 20 Spalten (Typ INTEGER 1) zu erweitern.
Gibt es da nicht eine bessere möglichkeit (Bspl. nur ein Feld mit Binärzahl)??
Vorneweg: Ich würde prinzipiell die Lösung von Götz bevorzugen (extra Tabelle), weil es einfacher zu lesen (und dann auch zu warten) ist.
Du hast natürlich die Möglichkeit, die 20 Attribute in einer einzigen Dualzahl unterzubringen, wobei jede Stelle angibt, ob die entsprechende Leistung ausgewählt ist oder nicht:
1001011 würde bedeuten:
Erste Leistung aktiviert, zweite und dritte nicht, vierte aktiviert, ...
Du hättest dann eine zwanzigstellige Zahl. Das sind dann etwas über eine Millionen Zustände (2^20), die du damit abspeichern kannst. Um die Zahl zu komprimieren, kannst du sie dann noch in ein anderes Zahlensystem umwandeln, wozu jede Programmiersprache in der Lage sein sollte. Im Dezimalsystem hättest du dann nur noch 7 Stellen, im Hexadezimalsystem noch weniger. Du kannst dann allerdings nicht auf Anhieb Ordnung oder ähnliches herstellen, sondern bist auf Programmlogik angewiesen.
use Tschoe qw(Matti);
neues Selftreffen?
http://selfcommunity.teamone.de/foren/community/?t=2241&m=2687
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.