css und db Abfragen

Kipperlenny

Erfahrenes Mitglied
moin

Ich arbeite noch nicht lange mit CSS und schon gar nicht mit extern ausgelagertem CSS (also style.css z.B.).
Nun meine Frage ist es möglich in der CSS Datei etwas einzubauen, damit er die Farben zum Beispiel aus der DB afragt?
Weil bei mir sind die Farben in der DB gespeichert, damit der Admin sie über das Adminpanel ändern kann...

lenny
 
Da fallen mir spontan 2 Moeglichkeiten ein.
  • In der externen CSS-Datei werden nur die statischen Formatierungen vorgenommen, also dort wird nichts aus der Datenbank geholt.
    Zusaetzlich wird dann im eigentlichen Script noch etwas CSS mit Daten aus der Datenbank definiert.
  • Deine CSS-Datei ist ein PHP-Script welches sich quasi als CSS-Datei ausgibt. So laeuft das bei mir da ich darin je nach Browser teilweise ein paar Werte austausche.
    Das hier steht am Anfang meiner layout.php:
PHP:
<?php
header("Content-Type:text/css");
?>
Hier mal ein Beispiel wo ich ein Teil des CSS-Files in Abhaengigkeit des Browsers erstellt wird:
PHP:
#info
	{
		background-color:#7b88a9;
		color:#ffffff;
		position:absolute;
		top:5px;
		left:165px;
		width:663px;
		height:80px;
		border:1px solid;
		padding-left:2px;
		padding-right:2px;
<?php
if ($browser=="Internet Explorer")
	{
?>
		z-index:-1;
<?php
	}
else
	{
?>
		z-index:1;
<?php
	}
?>
	}
Und so wird sie im HTML-Code eingebunden:
HTML:
<link rel="stylesheet" type="text/css" href="layout.php">
Also genau wie ein normales CSS-File.
 
Dankeschön - ich hoffe mal das klappt - aber hört sich sehr gut an :-)

so richtig?

Code:
<?php 
header("Content-Type:text/css"); 
include("./config.php");
$werte1=$db->query("SELECT * FROM werte");
$werte=$db->fetch_array($werte1);
$farba=$werte['aussen'];
$farbl=$werte['links'];
$farbr=$werte['rechts'];
$farbb=$werte['banner'];
$farbi=$werte['inhalt'];
$farbd=$werte['datum'];
$farbm=$werte['menu'];
$farbb=$werte['button'];
$farbu=$werte['unten'];
$farb1=$werte['link'];
$farb2=$werte['visited'];
$farb3=$werte['focus'];
$farb4=$werte['hover'];
$farb5=$werte['active'];
?> 
a:link { font-weight:bold; color: <? echo $farb1; ?>; text-decoration:underline; }
 
Da es hier doch mehr um die technischen Möglichkeiten geht, wie sich mit PHP ein dynamisches Stylesheet (via Datenbank) erzeugen und in ein Dokument laden lässt, schiebe ich den Thread mal ins PHP-Board ;)
 
Zurück