我使用 PHP 从 MySQL 数据库查询 CSS 设置,然后将其回显到 CSS 样式表中。示例片段如下:
<?php
$connect = //connect string
$query = ($connect, "SELECT bgcolor, font FROM displays WHERE name = 'mySettings'");
while ($row = mysqli_query($query)){
$bgcolor = $row[bgcolor];
$font = $row[font];
}
echo '
body {
background-color: #'.$bgcolor.';
font: '.$font.';
}
';
?>
“显示”表为每个设置的 CSS 属性有一列。每行代表用户保存的一组颜色/字体/填充/边距设置。
“字体”列的数据类型为 varchar(50)。 “bgcolor”应该是什么数据类型? CSS想要查看十六进制值,但MySQL中没有十六进制数据类型。逻辑选择是将值存储为 int 类型并在 SELECT 语句中使用 HEX() 函数。
话又说回来,将其存储为 char(6) 是否会更容易和/或使用更少的空间? PHP 只是将其视为字符串,而不是实际的数字。十六进制值不会应用任何数学函数;它只是粘贴到 CSS 中。
在这种情况下,将值存储为 int 或 char 之间是否有任何偏好?
扩展我的评论:
由于这些值仅用于显示目的,因此我会将 CSS 属性值(无论它是什么)完全存储为数据库中的字符串,例如:
#ab382d
这将消除在 CSS 中放置“#”的需要,因此您可以存储诸如
transparent
blue
-
rgb(100, 100, 100)
- (或任何其他有效的
background-color
属性值)
无需知道如何渲染它。
编辑:您可能还需要考虑一种缓存机制,以减少对可能不会经常更改的样式表信息的数据库的命中次数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)