phpbar.de logo

Mailinglisten-Archive

Usereinstellungen speichern

Usereinstellungen speichern

Arash Yalpani mysql-de_(at)_lists.bttr.org
Mon, 18 Feb 2002 16:40:07 +0100


Hallo Liste,

kleine Designfrage: Wie würde man am geschicktesten User-Einstellungen wie
Name, Vorname, Sprache, etc. so abspeichern?

Man kann natürlich alles in eine Tabelle werfen. Und sobald eine neue
Eigenschaft hinzu kommt müsste man eine neue Spalte hinzufügen. Ist ja auch
ok, so lange ich der Admin bin. Sobald ich aber ein System beim Kunden
installiere sollte dieser selbst in der Lage sein, weitere Felder
hinzuzufügen.

Meine Idee ist, dass ich eine User-Tabelle habe, in der die wichtigsten
Daten wie Id, Loginname und Passwort gespeichert sind. Alle weiteren
Attribute speichere ich in einer Extra-Tabelle:

User_Id int
SettingName varchar
SettingValue text

Über einen Join könnte ich dann gezielt auf eine spezielle Eigenschaft
zugreifen:
SELECT SettingValue FROM User AS u, Setting AS s WHERE u.Id = s.User_Id AND
s.SettingName = 'LANGUAGE'

Settings könnten dabei Boolean-Werte, Strings und Zahlen sein. Eigentlich
beliebig, da ich sie in ein Textfeld speichere. Das ist zwar
Speicherfressend, aber da das von mir geplante System maximal 1000 User
vertragen muss nicht weiter schlimm.

Welche Nachteile kann so eine Vorgehensweise haben? Gibt es bessere
Alternativen?

Danke für die Hilfe,
Arash



---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive