0251 / 590 837 15
info@a-coding-project.de
;

CMS Einstellungen in der MySQL-DB – Code & Blog

Code & Blog Logo

Code & Blog Logo

Gestern hab ich Beschrieben, wo die Datenbankeinstellungen gespeichert werden. Nun geht es um die globalen Einstellungen im Blog. Hier soll es gewisse Eigenschaften geben, also der Name in eine Spalte und der Wert in eine andere. So ist es später möglich zum Beispiel den Titel des Blogs festzulegen. Im Code muss dann nur noch auf die Tabelle zugreifen, um die Einstellungen herauszubekommen.

Wie gesagt gibt es 2 Spalten. Die eine heißt property und hat den Typ varchar(255). In ihr ist der Name der Eigenschaft. Dieser ist natürlich ein Primary Key. Dann gibt es die zweite Spalte, die value heißt. Sie soll (fast) alle Datentypen annehmen. Dies ist am besten mit varchar möglich. Dafür muss man dann die Typen vorher passend konvertieren.

Die Tabelle heißt passend settings. Hier muss natürlich erstmal noch die Präfix, welche wir in den Datenbankeinstellungen gesetzt haben vor. Also heißt sie in diesem Fall cms_settings.

Und hier ist der SQL-Query für die Tabelle:

CREATE TABLE `cms_settings` (
`property` VARCHAR( 255 ) NOT NULL ,
`value` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `property` )
) TYPE = MYISAM ;

Dies ist ein Beitrag aus der Aktion Code & Blog, in der hier ein eigenes CMS erstellt wird.

Kommentare

Norm schrieb am 13.09.2010:

Wie soll die Datei benannt werden und welche Dateiendung muss sie haben? cms_settings.php oder anders?

Stefan Wienströer schrieb am 13.09.2010:

Das ist keine Datei^^ Das musst du in deine Datenbank ausführen (über PhpMyAdmin)

Norm schrieb am 14.09.2010:

Ok, aber wo kommt jetzt die Datenbank her? Hätte ich irgendwo eine anlegen sollen? komm mir ganz schön blöd vor, aber irgendwie fehlern mir hier und da ein paar zwieschen schritte. Wie erstelle ich diese datenbank, wie soll sie heißen. welche datensätze sollen rein. was für ein format hat sie. ... wir haben doch bis zu diesem artikel nur 3 php files erstellt und die ordner stuktur oder fehlt mir ne seit ?

Stefan Wienströer schrieb am 14.09.2010:

Was für Daten hast du denn hier eingetragen? http://blog.stevieswebsite.de/2009/04/cms-datenbank-einstellungen-in-dbsettingsphp-code-blog/ Du musst im PhpMyAdmin eine Datenbank anlegen und diese Daten in die dbsettings.php schreiben. Dann musst du wieder im PhpMyAdmin diesen Befehl ausführen (bei XAMPP liegt PhpMyAdmin auf localhost/phpmyadmin). Ich glaube, du solltest dich vorm durcharbeiten des Tutorials ein bisschen mit PHP & MySql im Allgemeinen beschäftigen. Ich hab mir meine Kenntnisse über ein Buch beigebracht, aber es gibt auch einige Tutorials dazu. Eins kannst du zum Beispiel hier finden: http://tut.php-quake.net/de/index.html

Julian schrieb am 23.01.2011:

Ist es nicht möglich das mit mysql_query in die erstellte Datenbank reinzuschreiben?

Stefan Wienströer schrieb am 23.01.2011:

Klar. Wobei du oben keine Datenbank sondern eine Tabelle erstellt hast ;-). Einfügen kannst du mit dem Insert-Befehl.

Julian schrieb am 23.01.2011:

Klar meinte ich...:-)

BartM schrieb am 31.01.2011:

Bei mir kommt wenn ich dies im PMA eingebe bei sql ein Fehlermeldung : #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE = MYISAM' at line 5 CREATE TABLE `cms_settings` ( `property` VARCHAR( 255 ) NOT NULL , `value` VARCHAR( 255 ) NOT NULL , PRIMARY KEY ( `property` ) ) TYPE = MYISAM ; nur wenn ich TYPE = MYISAM weglasse geht es ..

Skampy schrieb am 21.03.2011:

Ich weiß kommt ein bissl spät aber wenn ein Fehler bei PMA rauskommt versucht mal am ende statt "TYPE = MyISAM" "ENGINE = MyISAM" Dann sollte das funktionieren.

Marcel schrieb am 07.08.2011:

Halo leute habe mal eine frage wenn ich die Tabelle anlege dann leitet die mich weiter wo type ect.. kommt was muss ich da in die felder eingeben ? bin ziehmlich neu in den gebiet ... und will von anfang an alle sachen durch arbeiten .. !! danke im voraus .. !

Stefan Wienströer schrieb am 07.08.2011:

du musst einfach nur den SQL-Befehl ausführen.