Hallo
ich bin gerade dabei eine Datenbank aufzubauen für Settings die ich auf meiner WebSeite benötige wie z.B. Titel der Seite, Daten für das Impressum usw. Derzeit sieht diese wie folgt aus:
CREATE TABLE IF NOT EXISTS settings
(
set_id
int(11) NOT NULL AUTO_INCREMENT,
set_titel
varchar(200) NOT NULL,
PRIMARY KEY (set_id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
> >
> > und lese die Werte dann so aus:
> > …
> > wenn ich aber jeden Wert in eine Spalte lege, dann wird diese verdammt lang. Wie würdet ihr dieses machen? Und wie kann ich solltet ihr dieses anderes machen, die einzelnen Werte auslesen?
>
> Wieviele Parameter sollen es denn sein? Wenn es zuviele sind, würde man kategorisch ordnen und einzelne Tabellen für diese Kategorien anlegen, zb. settings\_colors oder settings\_admin.
An der Stelle, so sich die Struktur der Settings nicht unterscheidet, würde ich bei einer Tabelle bleiben und diese gegebenenfalls um N Spalten erweitern, die z.B. Kategorien oder eine Unterschiedung für Admin- und sonstige Aufgaben aufnehmen. Allerdings ist eine numerische ID zur Unterscheidung der Settings mMn wenig aussagekräftig. es darf auch ein Name sein, anhand dessen aus den Ergebnissen ein PHP-Array erstellt wird. Jede Einstellung ist hier eine eigene Zeile/ein eigener Datensatz, wie es sich gehört.
Mal ein Beispiel (prozedural und mit unegalen Namen zur Veranschaulichung):
~~~php
while ($row = mysql_fetch_assoc($resultSettings)) {
$r[$row['settingname']] = array($row['settingvalue'], $row['settingcategory'], $row['settinggroup']);
}
Keep it simple, stupid!
Nicht wahr!? ;-)
Tschö, Auge
--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
Veranstaltungsdatenbank Vdb 0.3
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
Veranstaltungsdatenbank Vdb 0.3