后台 配置页面功能设计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/71750893

背景:

每个网站开发中,多多少少会需要一些默认的配置项,相对而言一条条的手动添加是极为繁琐的,要分类各种图片、文字、文件、单选、多选按钮等,在此提供一种设计思路,记不清从哪里参考而来的,个人认为比较方便,也有很大的扩展性...

一.数据库设计

1.数据库设计截图

2.数据库SQL创建语句

CREATE TABLE `xx_conf` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID标记',
  `tag` varchar(20) DEFAULT NULL COMMENT '缩写标签',
  `title` varchar(50) DEFAULT NULL COMMENT '配置项标题',
  `value` text COMMENT '配置项的 取值',
  `type` varchar(20) DEFAULT NULL COMMENT '类型',
  `tip` varchar(50) DEFAULT NULL COMMENT '配置项提示信息',
  `sort` int(11) DEFAULT NULL COMMENT '排序',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

3.数据库信息参考

二.前端设计

1.添加页面展示

2.核心代码参考

三.后台代码设计

1.ConfigController.class.php 代码 private $confModel; public function __construct() { parent::__construct(); $this->confModel = new ConfModel(); } /** * 基本配置界面 */ public function index(){ if(IS_POST){ $updateTag = $this->confModel->updateConfData(); if($updateTag){ $this->success('修改成功',U('Config/index'),2); }else{ $this->error('修改失败',U('Config/index'),2); } }else{ $confData = $this->confModel->getConfData(); $this->assign('confData',$confData); $this->display(); } } /** * 配置项的添加 */ public function add(){ $tag = $this->confModel->addConfigData(); if ($tag){ $content = '配置项添加成功'; }else{ $content = '配置项添加失败'; } $this->success($content,U('Config/index'),1); } 2.ConfModel类内部核心代码参考 注意一点,对于如下关于图片上传的代码,请参考上一篇文章的介绍,涉及到的主要代码都可以直接参考,此处不做赘述。 public function addConfigData(){ $postData = $_POST; $tag = $this->db_conf_mi ->add($postData); return $tag; } /** * 更新配置信息 */ public function updateConfData(){ $postData = $_POST; foreach ($postData as $key => $value){ $save = array( 'value' => $value, ); $this->db_conf_mi ->where("tag = '".$key."'") ->save($save); } //file文件数据更新 foreach ($_FILES as $key => $value){ $img = handleImg($key); $furl = C('REMOTE_ROOT').$img; if ($img){ ftp_upload($furl,$img); $saveData['value'] = $img; $this->db_conf_mi ->where("tag = '".$key."'") ->save($saveData); } } return 1; }

四.实现效果截图

五.附录

1.补录 可建议自行添加配置项排序功能 如果时间允许,建议将不同类型的配置项进行剥离处理,方便统一页面设计,美观适用性增强。

2.源代码下载 >>>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据和云

【动手实践】Oracle 12.2 新特性:自动的列表分区创建

2017年来了,我们要启动新的学习征程了。在过去我们一直思考,什么样的内容能够更帮助大家了解和学习到有用的知识? 这个『动手实践』栏目就是这样一个改进和尝试吧,...

30160
来自专栏解Bug之路

MySql之自动同步表结构

在开发过程中,由于频繁的修改数据库的字段,导致rd和qa环境的数据库表经常不一致。 而由于这些修改数据库的操作可能由多个rd操作,很难一次性收集全。人手工去和...

11610
来自专栏散尽浮华

Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

众所周知,binlog日志对于mysql数据库来说是十分重要的。在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlo...

40280
来自专栏源哥的专栏

如何对表操作进行监控

我们在跟踪定位一些系统问题的时候,经常需要知道哪些地方对一个表进行了操作,查询代码很麻烦,其实有一个简单的方法,就是跟踪表, 如下语句,就可以给表t_table...

14720
来自专栏沃趣科技

配置详解 | performance_schema全方位介绍

在上一篇 《初相识 | performance_schema全方位介绍》 中粗略介绍了如何配置与使用performance_schema,相信大家对perfor...

1.9K70
来自专栏数据和云

深入内核:Oracle数据库里SELECT操作Hang解析

崔华,网名 dbsnake Oracle ACE Director,ACOUG 核心专家 编辑手记:感谢崔华授权我们独家转载其精品文章,也欢迎大家向“Oracl...

392100
来自专栏Spark学习技巧

phoenix二级索引

二级索引 二级索引是从主键访问数据的正交方式。Hbase中有一个按照字典排序的主键Rowkey作为单一的索引。不按照Rowkey去读取记录都要遍历整张表,然后按...

81090
来自专栏存储技术

MySQL加锁范围分析

最近,遇到了一个关于mysql 加锁的问题,将当时的情形简化如下,有一个index_test表,表结构如下所示:

61260
来自专栏程序猿

SQL注入分析服务器类型

分析数据库服务器类型 一般来说,ACCESS与SQL-SERVER是最常用的数据库服务器,尽管它们都支持T-SQL标准,但还有不同之处,而且不同的数据库有不同的...

32860
来自专栏维C果糖

史上最简单的 MySQL 教程(二十)「数据的高级操作 之 主键冲突」

当主键存在冲突(duplicate key)的时候,可以选择性的进行处理,即更新或替换。

372110

扫码关注云+社区

领取腾讯云代金券