【问题标题】:Dynamic Database Driven CSS动态数据库驱动的 CSS
【发布时间】:2012-03-26 15:31:43
【问题描述】:

这是我的问题,我正在建立一个网站。我包括一个管理页面来动态管理所有内容,我没有任何问题,因为它是非常简单的 php、mysql 等。我脑子里有它,我可以使用数据库来存储 css 并动态调用它当我为不同的类、id 等添加新设置时,我的表是这样的: 设置 id--class--div--设置

其中class是body、header、footer等,div和设置如下:

.header {
$div:$setting;
}

在我的脚本中,我正在呼应样式标签并将其包含在头部标签中。

我的代码如下:

$header_query = mysql_query("SELECT style, setting FROM styles WHERE class='header'");
$header_result = mysql_fetch_array($header_query);


echo "<style type='text/css'>";
echo ".header {";
   foreach($header_result as $hstyle => $hsetting){
   echo $hstyle.":".$hssetting.";";
   }

   echo "}";
   echo "</style>";

我认为这足以呼应该特定班级的每个设置,我部分正确。我的回显(取决于我使用的 mysql_fetch 命令)不是回显所需的代码,而是吐出如下内容:

<style>
.header {
0:div;1:background;2:setting;3:url(x.jpg)
}
</style>

有什么想法,我被难住了?

【问题讨论】:

    标签: css database dynamic


    【解决方案1】:

    mysql_fetch_array 获取一行。所以你可以使用类似的东西

    $header_query = mysql_query("SELECT style, setting FROM styles WHERE class='header'");
    
    echo "<style type='text/css'>";
    echo ".header {";
    
    while($header_result_row = mysql_fetch_array($header_query,MYSQL_ASSOC))
        echo $header_result_row['style'].":".$header_result_row['setting'].";";
    
    echo "}";
    echo "</style>";
    

    几乎所有mysql_fetch_* 都只影响一行,请记住这一点。另请参阅mysql_fetch_array examples

    【讨论】:

    • 也感谢您的快速答复!那行得通! :) 我是新手,所以我从没想过要使用 while 语句。这表明我有很多东西要学。
    • @user1258619:不客气。请注意:如果您想在数据库中保存用户驱动的内容,请确保它是 correctly escaped 以防止 SQL injections 或使用 prepared statements
    • 毫无疑问,我已经为我需要检查所有内容的所有内容清理了输入内容。将要存储的最糟糕的东西是用户 cmets 和进度,就像论坛一样。非常中肯的建议,因为我可能需要一些帮助。
    【解决方案2】:

    没错,因为 mysql_fetch_array 返回一个数组(因此得名),其中包含所有结果的索引列表,其中每一行都是一个关联数组。

    使用

    echo $hssetting['style'].":".$hssetting['setting'].";";
    

    你应该很高兴。

    【讨论】:

    • 感谢您的快速响应!我发布的其他论坛尚未回答。我发布了,这就是我的视图中显示的内容code code
    • 在旁注中,当主查询正确连接到数据库时,我可以在屏幕上回显主查询
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2013-10-12
    • 2012-07-01
    • 2011-07-04
    • 2012-01-27
    相关资源
    最近更新 更多