Php 如何将MySQL数据库中的数据拉入其中的样式表';s自己的文件/文件夹?

Php 如何将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

我正在建立一个网站模板。这个模板我将用于我的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']; ?>;
}
@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; 
}