好的,所以我想改进我之前关于由MYSQL数据库驱动的动态CSS的问题。我已经得到了这个工作的一个CSS类,但不是超过一个。我试图做的是把一个while语句放在另一个语句里面。我的数据库由这个目前:动态数据库驱动的CSS 2.0
table styles
id - class - style - setting - page
1 header width 1000px index
2 header height 200px index
3 footer width 1000px index
我的代码如下:
$pname = $_SERVER['REQUESTED_URI'];
$class_query = mysql_query("SELECT DISTINCT(class) AS class FROM styles WHERE pname='".$pname."'");
$style_query = mysql_query("SELECT style, setting FROM styles WHERE pname='".$pname."' AND class='".$class_result['class']."'");
echo "<style>";
while($class_result_row = mysql_fetch_array($class_query,MYSQL_ASSOC)) {
echo ".".$class_result_row['class']."{";
while($style_result_row = mysql_fetch_array($style_query,MYSQL_ASSOC)) {
echo $style_result_row['style'].":".$style_result_row['setting'].";";
}
echo "}";
}
echo "</style>";
这个伟大的工程为索引内容,但它并不显示页脚样式。这和我之前在这里提到的主要区别在于,不是为每个页面手动设置相同的脚本来加载页面特定的内容,我想将它包装在一个函数中,并在标题中调用一次用它完成。我也尝试为页面名称设置$ GLOBALS和$ SESSION变量,但结果相同。 在侧面说明我也使用了没有额外的引号和句点的变量,也得到了相同的结果。在此先感谢大家! - 约翰
另外,可能有更好的方法来解决动态样式化页面的问题。我不知道你的目标是什么,但是这个解决方案可能不会更难以维护,它可以增加页面大小,并且不允许浏览器在CSS没有改变的情况下缓存CSS。考虑每页使用CSS文件(即为“索引”页面加载的“index.css”等)。您还可以构建CSS页面的层次结构 - 一个用于页面结构(页眉,页脚等)和其他用于页面特定样式的页面。 – dariom