php - 保存 "options"并使用 php/mysql 检索它们

标签 php mysql variables

这是一个 php/mysql 问题。

我正在设计一个网站,管理员可以在其中选择一些选项,例如:文本的对齐位置、某些元素的字体大小、缩略图的高度/宽度等。这些选项存储在表格中并使用php 在需要的地方。我正在尝试完成类似于 Wordpress 在表中存储选项的方式。执行此操作的最佳方法是什么?

最佳答案

wordpress 将每个选项存储在单个表中的一行中,一些选项数据是序列化的,但最终,它们基本上存储为键 => 值对

首先要确定您希望存储的选项 并给他们唯一的 key

例如 网站.background = #FFFFFF

然后你可以创建一个简单的表来存储它

configtable
|section|key       |value  |
|site   |background|#FFFFFF|

如果你围绕(section, key)建立一个唯一的索引,那么你就不会以欺骗告终

只加载站点设置,你可以这样做

$result = mysql_query("select key, value from configtable where section='site'");
$siteconfig = array()
while(list($key, $value) = mysql_fetch_row($esult)) {
    $siteconfig["$key"] = $value; // forcing key to be a string so that numeric keys don't stuff things up
}

在你的代码中你可以这样做

echo <div style="background: <?php echo $siteconfig['background']; ?>

要一次加载所有设置,您可以这样做

$result = mysql_query('select section, key, value from configtable');
$config = array()
while(list($section, $key, $value) = mysql_fetch_row($esult)) {
    $config["$section"]["$key"] = $value; // forcing section/key to be a string so that numeric keys don't stuff things up
}

在你的代码中你可以这样做

echo <div style="background: <?php echo $config['site']['background']; ?>

对于用户特定的设置,只需在表中添加一个user_id列来存储即可

configtable
|section|key       |value  |user_id  |
|site   |background|#FFFFFF|bumperbox|

希望对你有帮助

关于php - 保存 "options"并使用 php/mysql 检索它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5877683/

相关文章:

mysql - 在触发器内声明变量

c# - 如何使用 POST 方法向公共(public)网站发送请求以及如何查找请求的参数(如来源和目的地等)

php - 使用 PHP 将文件备份到谷歌驱动器

MySQL 使用连接表中的值更新单个表上的查询

MYSQL用户有权限执行UPDATE脚本吗?

mysql - 运行大型sql脚本

laravel - Laravel Blade 循环中 undefined variable $loop

postgresql - postgres - 来自 select 的内联变量赋值

php mysql like语句从数字数组中获取多个值

php - 客户端与服务器端基础知识