CSS dynamisch erstellen mit PHP

Status
Nicht offen für weitere Antworten.

xloouch

Erfahrenes Mitglied
Hallo zusammen

Bin mir jetzt nicht sicher, ob ich im richtigen Forum bin.

Ich interessiere mich dafür, ob es möglich ist, css-styles dynamisch zu erzeugen?

also aus der db auslesen, wieviel user es sind, dann für den entsprechenden User ein Text zu erzeugen, wie dieser:

Code:
.tdProj1{
	text-align:left;
	font-size:12px;
	font-weight:bold;
	font:Arial, Helvetica, sans-serif;
	margin-bottom:5;
	color:#0081FE;
	visibility:hidden;
}

Danke für eure Hilfe.
 
PHP:
$data = fopen("style.css","w+");
$css = "Hier hin muss dann der Text der in die CSS-Datei soll.";
fwrite($data, $css);
fclose($data);

Wie du siehst, es geht ganz einfach =)

mfg
flo
 
Danke für deine schnelle Antwort. Ich wollte es eigentlich zur Laufzeit der Page machen. oder ist dies sinnlos bzw unnötig und rechenleistungaufwändig?
 
Wenn du den CSS-Code im Dokument ausgeben willst, dann kannst du es ja einfach ausgeben, wie anderes auch:

Wenn du es in einer externen Datei tun willst, dann erstelle ein PHP-Skript, und referenziere dies wie üblich bei externen CSS-Dateien.
Im PHP-Skript sende eingangs einen Header, damit der Browser weiss, was dort ankommt:
PHP:
header('Content-Type:text/css')

Dann gebe halt nach Gusto den benötigten CSS-Code aus.

Beim "Einbinden" dieser CSS-Datei hänge an die URL besser noch einen dynamischen Parameter an(bspw. Timestamp), damit es auch wirklich jedesmal neu geladen wird.
 
Danke auch dir für deine schnelle Antwort. Also demenstprechend kann die Datei so aussehen:

PHP:
<?
header('Content-Type:text/css') ;
/* sqlabfrage, wieviel user */

for($i=0; $i<anzahlUser;$i++){ ?>
    .<? echo $row['username']; ?> {
	text-align:left;
	font-size:12px;
	font-weight:bold;
	font:Arial, Helvetica, sans-serif;
	margin-bottom:5;
	color:#0081FE;
	visibility:hidden;
}
<? } ?>
 
Smile. Vorgabe des Auftraggebers, dass es erst zu einem speziellen Zeitpunkt angezeit werden soll.

Demenstprechend Danke an dich Sven.

Problem behoben. Danke
 
Hi.. leider funktionierts nicht, wie ich es wollt. sorry.

hier mein code:

PHP:
<?
header('Content-Type:text/css') ;
$query="SELECT maVorname,maNachname FROM mitarbeiter";
$query =mysql_query($query) or die(mysql_error());


while($row=mysql_fetch_array($query)){ ?>
    .<? echo $row['maVorname'].$row['maNachname']; ?> {
    text-align:left;
    font-size:12px;
    font-weight:bold;
    font:Arial, Helvetica, sans-serif;
    margin-bottom:5;
    color:#0081FE;
    visibility:hidden;
}
<? } ?>

Die Verbindung zur DB wird schon vorhergehend erstellt. Die Integration der Datei geschieht wie folgt:

Code:
<link rel="stylesheet" media="all" type="text/css" href="./css/style_generator.php" />

//EDIT

sorry. funktioniert nun. hatte wiklich was vergessen. aber danke trotzdem.
 
....trotzdem mal eine Rückfrage :)

sehe ich das richtig...du erstellst für alle User eine eigene Klasse...und alle haben dieselben Formate.
Wozu :eek:
warum ordnest du nicht allen Usern ein und dieselbe Klasse zu?
 
Weil, sobald man über ein Bild eines Users fährt (mouse on over) nicht alle Namen angezeigt werden sollen, sondern blos der entsprechende Name.

Da es schlussendlich blos eine Hand voll Angestellte sind (ist eben eine Site für ein Unternehmen), sehe ich da nicht so grosse Probleme.

Hoffe diese Erklährung reicht dir.
 
Status
Nicht offen für weitere Antworten.
Zurück