我正在建立一个网站模板。这个模板我将用于我的20个网站。我正在使它成为数据库驱动的。这样,当我想编辑它时,我可以从我的数据库执行此操作,无需上传任何内容或无需在每页上编辑项目/属性。
我希望能够在我的数据库中放置颜色的css属性。这是我的一些代码。这段代码是css。
@charset "utf-8";
/* CSS Document */
a {
display: block;
width: 100%;
color: <?php echo $styles_query_result[1]['a_color']; ?>;
}
a:link {
text-decoration: none;
color: <?php echo $styles_query_result[1]['a_link']; ?>;
}
a:visited {
text-decoration: none;
color: <?php echo $styles_query_result[1]['a_visited']; ?>;
}
现在,只要样式在主页上,上面的代码就可以了。一旦我创建了样式表并附加它,以便样式作为styles.css在自己的文件夹中,代码就不再起作用了。我不希望在主页上保留样式。
如果样式位于自己的文件和文件夹中,如何将数据库中的数据拉入样式表。 styles.css位于根目录中的文件夹中。
根目录中的文件夹/文件:
index.php(从此页面中删除了样式)
css(并将样式放在此文件夹中的styles.css中)
图像
包括
提前致谢!
答案 0 :(得分:2)
如果您有数据库模板,可以使用它来创建.css文件而不在.css文件中使用php。
如果你有两张桌子:
您可以使用它来创建css文件。伪代码:
<?php
//$db = new PDO('mysql:host=localhist;dbname=cms', 'root', 'root');
//$query = $db->query("SELECT * FROM `selector`");
//$query = $query->fetchAll();
$query = array(
array('id' => 1, 'selector' => '.thisone'),
array('id' => 2, 'selector' => '#thatone'),
array('id' => 3, 'selector' => '.body')
);
$probs = array(
1 => array(
array('id' => 1, 'selector_id' => 1, 'css_element' => 'border', 'element_value' => '1px solid'),
array('id' => 2, 'selector_id' => 1, 'css_element' => 'padding', 'element_value' => '10px')
),
2 => array(
array('id' => 1, 'selector_id' => 2, 'css_element' => 'border', 'element_value' => '1px solid')
),
3 => array(
array('id' => 1, 'selector_id' => 2, 'css_element' => 'width', 'element_value' => '40px'),
array('id' => 2, 'selector_id' => 2, 'css_element' => 'height', 'element_value' => '40px')
)
);
$css = '';
foreach($query as $selector){
//$properties = $db->query("SELECT * FROM `properties` WHERE `selector_id` = $selector->id");
//$properties = $properties->fetchAll();
$properties = $probs[$selector['id']];
$rules = '';
foreach($properties as $element){
$rules .= "\n \t$element[css_element]:$element[element_value];";
}
$css .= "$selector[selector]".'{'."$rules \n".'}'."\n\n";
}
$fp = fopen('style.css',"w");
fwrite($fp,$css);
fclose($fp);
echo "<pre>";
echo "$css";
echo "</pre>";
?>
结果将是:
.thisone{
border:1px solid;
padding:10px;
}
#thatone{
border:1px solid;
}
.body{
width:40px;
height:40px;
}
您可以添加带有css_file(id,name)的表,然后将css_file_id添加到选择器表。然后你也可以写多个文件。
您还可以创建一个编辑器表单,您可以在其中添加/删除/更改css规则/选择器/文件。