dinamik stil

2 Cevap

Iam stylesheet.php içine mysql veritabanından veri almak için çalışıyoruz ama çalışmıyor.

ana sayfa:

<link rel="stylesheet" href="includes/dynamicstyle.php" media="screen">

stylesheet.php

<?php header("Content-type: text/css;"); ?>  
<?php
require 'connect.php';
$userid = $_SESSION['uid'];
$select_query = "SELECT * FROM theme where user_id = $userid";


$primaryTextColor = '#336600';
$secondaryTextColor = '#fff';
$tertiaryTextColor = '#555';
$primaryBGColor = '.$background.';
$secondaryBGColor = '#ccc';
$tertiaryBGColor = '#000';
$primaryTextSize = '10'; //pixels
?>
#pro_theme{
 color: <?php echo $primaryTextColor?>;
 background: <?php echo $primaryBGColor?>;

}
#con_theme {
 background: <?php echo $secondaryBGColor?>;
 font-size: <?php echo 1.1*$primaryTextSize ?>px;
}
#des_theme{
background: <?php echo $secondaryBGColor?>;
 font-size: <?php echo 1.1*$primaryTextSize ?>px;
}
#basic{
background: <?php echo $secondaryBGColor?>;
}
<?php 
$result_select = mysql_query($select_query)or die(mysql_error());
if ($result_select){
    	$row = mysql_fetch_assoc($result_select);
    	$background = $row['background'];

    }
?>

Bu çalışma için beni değil, ben sadece bilmek istiyorum bir doğru yolu yapmak olduğunu ya da bir şey, bunu yapmanın daha iyi bir yol yoktur.

teşekkürler.

Edit:

Tavsiye, onun şimdi çalışma için teşekkürler.

2 Cevap

Bu çizgi biraz kafa karıştırıcı:

$primaryBGColor = '.$background.';

Bu her zaman bu çıkış olacak demektir:

#pro_theme{
 color: #336600;
 background: .$background.;
}

Bu hata ayıklama için en iyi yolu sadece tarayıcı bu dosyayı açmak için (http://mysite/includes/dynamicstyle.php) yani net çıkış görebilirsiniz olduğunu.

Eğer tüm çıkış içine $ plan değer koyarak değiliz. Çıktınız içine (tek tırnak içinde, çünkü hiç genişletilmiş değildir) dize .$background. çıktılıyorsanız. Eğer adlı bir değişken $ plan ayarlamak sonra bu sonra zaten tarayıcı gönderildi (ya da en azından gönderilecek tamponlu).

Eğer çıkış css önce $ arka planı ayarlamak için, ve size alıntı değiştirmeniz gerekir gerekir, bu yüzden $ plan yere çıktı genişletilir.

Ayrıca, bu sizin CSS çıktı değişkenleri içine sopa daha iyi bir şekilde yararlanacak olacağını görünüyor. Şanslı önerdiği gibi, yorumlu metin de burada çalışabilir.

Ayrıca, etiketinde type = "text / css" olması acıtıyor asla. Hatta spec tarafından gerekli olabilir, unutuyorum.