Php 如何将MySQL数据库中的数据拉入其中的样式表';s自己的文件/文件夹?
我正在建立一个网站模板。这个模板我将用于我的20个网站。我正在使它由数据库驱动。通过这种方式,当我想要编辑它时,我可以从我的数据库中进行编辑,而无需上传任何内容,也无需编辑每个页面上的项目/属性 我希望能够把颜色的css属性放到我的数据库中。这是我的一些代码。这段代码就是cssPhp 如何将MySQL数据库中的数据拉入其中的样式表';s自己的文件/文件夹?,php,mysql,css,database,Php,Mysql,Css,Database,我正在建立一个网站模板。这个模板我将用于我的20个网站。我正在使它由数据库驱动。通过这种方式,当我想要编辑它时,我可以从我的数据库中进行编辑,而无需上传任何内容,也无需编辑每个页面上的项目/属性 我希望能够把颜色的css属性放到我的数据库中。这是我的一些代码。这段代码就是css @charset "utf-8"; /* CSS Document */ a { display: block; width: 100%; color: <?php echo $styles
@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']; ?>;
}
@charset“utf-8”;
/*CSS文档*/
a{
显示:块;
宽度:100%;
颜色:;
}
a:链接{
文字装饰:无;
颜色:;
}
a:参观了{
文字装饰:无;
颜色:;
}
现在,只要样式在主页上,上面的代码就可以工作。一旦我创建了一个样式表并附加了它,使样式作为styles.css保存在自己的文件夹中,代码就不再起作用了。我不希望在主页上保留样式
一旦样式位于它们自己的文件和文件夹中,如何将数据库中的数据拉入样式表中。styles.css位于根目录中的文件夹中
根目录中的文件夹/文件:
index.php(从此页中删除了样式)
css(并将样式放在此.styles.css文件夹中)
图像
包括
提前谢谢 如果你有一个数据库模板,你可以用它来创建一个.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>";
?>
您可以添加一个带有css_文件(id、名称)的表,然后将css_文件_id添加到选择器表中。然后还可以编写多个文件
您还可以创建一个编辑器表单,在其中可以添加/删除/更改css规则/选择器/文件。您正在尝试将php代码放入
.css
文件中。由于样式表是为客户机as-is.Derp下载的,因此不会执行此代码。我早该知道的。无论如何都有办法解决这个问题吗?为了做到这一点,您必须将样式声明直接回显到php文件中,在该文件中可以从数据库中注入颜色。或者创建一个php文件,用于监视数据库中的更改并重新创建样式表的缓存副本。Yes。将其重命名为i.e.styles.css.php
,并在开始时执行一些header()
工作。为什么不将属性作为javascript变量加载,并使用javascript/jquery应用css?感谢您的回答,我现在应用它来查看。我喜欢它,这正是我想要的,我希望我能在我的系统中实现这一点:从数据库中构建$probs
数组似乎不是那么幸运
.thisone{
border:1px solid;
padding:10px;
}
#thatone{
border:1px solid;
}
.body{
width:40px;
height:40px;
}