Bruteforcer: MySQL Datenbank Strucktur für Settings

Beitrag lesen

Hello,

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 ;

anstatt set_id nimm id, statt set_title title. Das Präfix set_ ist völlig unnötig.

aber ich habe das Gefühl, dass ich mit dieser Struktur auf der falsch liege oder? Denn ich kann ja nicht jedes Feld anlegen oder?

Warum nicht? Warum kannst du nicht jedes Feld anlegen?

Mein Gedanke war so:

//Settings auslesen
$seiten_settings = "SELECT * FROM settings";
$out_settings = mysql_fetch_object(mysql_query($seiten_settings));

  
Wenn dsa mit PHP so geht, ist das doch ne tolle Sache! Allerdings Variable besser $settings nennen.  
  

> und lese die Werte dann so aus:  
>   
> ~~~php
  

> <?php echo $out_settings->set_titel?>  
> 

Gut. Vielleicht noch ein Semikolon hinter $out_settings->set_titel

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.
Danach mit JOIN alles selecten und dann auslesen mit $out_settings->color_head oder was auch immer. Keep it simple, stupid!