php系统表结构,PHP网站配置(系统设置)数据库表结构及实现

网站后台一般少不了站点配置,一种方式是写到配置文件里,第二种是写到数据库,下面以写到数据库为例

数据库表结构

DROP TABLE IF EXISTS `option`;

CREATE TABLE `option` (

`option_name` varchar(64) NOT NULL DEFAULT '' COMMENT '配置名',

`option_value` varchar(1000) COMMENT '配置值',

`option_explain` varchar(200) NOT NULL COMMENT '配置说明',

PRIMARY KEY (`option_name`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='全站配置表';

主键为配置名 option_name,配置值 option_value,即key-value对形式存储,其他字段根据需要自行扩充

查询配置

/**

* Notes:获取配置信息

* @auther: xxf

* Date: 2019/7/16

* Time: 17:29

* @param $key

* @return array|\Illuminate\Cache\CacheManager|mixed

*/

public static function cmf_get_option($key)

{

if (!is_string($key) || empty($key)) {

return [];

}

$optionValue = cache('options_' . $key);

if (empty($optionValue)) {

$optionValue = self::where('option_name', $key)->value('option_value');

if (!empty($optionValue)) {

cache('cmf_options_' . $key, $optionValue);

}

}

return $optionValue;

}

前端显示,修改

name="data[{$vo.option_name}]" 将表单以数组方式提交到后台

{volist name="list" id="vo" key="k"}

{$vo.option_explain}:

{/volist}

{:token()}

提交

放弃

public function editOption(Request $request)

{

$data = $request->param('data');

$opRes = $this->model->edit($data);

return showMsg($opRes['tag'],$opRes['message']);

}

public function edit($data)

{

$count = 0;

foreach ($data as $k =>$v) {

$res = $this->where('option_name',$k)->update(['option_value'=>$v]);

//$res = $this->where('option_name','aa')->update(['option_value'=>23]);

$res && $count++;

}

$validateRes['tag'] = $count > 0;

$validateRes['message'] = $count > 0 ? '成功' : '失败';

return $validateRes;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值