系统设置总结

原创 2018-12-28 19:30:47 336
摘要:系统模块总结.    系统模块建表用keys=>values方式创建数据表,然后将前端数据,以json格式存入数据表中.前端页面save方法创建两个对象,用来存储数据,将数据传输到后台控制器中进行存储,然后将对象转换为json数据,传入数据表,根据names查询数据表中是否有数据来确定是更新还是新增public function s

系统模块总结.

    系统模块建表用keys=>values方式创建数据表,然后将前端数据,以json格式存入数据表中.

前端页面save方法创建两个对象,用来存储数据,将数据传输到后台控制器中进行存储,然后将对象转换为json数据,传入数据表,根据names查询数据表中是否有数据来确定是更新还是新增

public function save()
{
//接受names数值,也就是表中names的值
    $data['names'] = input('post.names');
    //接收values值(对象),将对象转换为json数据
    $data['values'] = json_encode(input('post.values'));
    //判断表中是否有此数据,有则是更新数据,没有则是新增数据
    $item = SysDb::table('setting')->where(['names'=>$data['names']])->item();
    if($item){
        SysDb::table('setting')->where(['names'=>$data['names']])->update($data);
    }else{
        SysDb::table('setting')->insert($data);
    }
    exit(json_encode(['res'=>0,'msg'=>'保存成功']));

}
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
 content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="/static/plugins/layui/css/layui.css">
    <script src="/static/plugins/layui/layui.js"></script>
</head>
<body style="padding: 10px;">

<form action="" class="layui-form">
    <div class="layui-form-item">
        <label for="" class="layui-form-label">网站名称</label>
        <div class="layui-input-inline">
            <input type="text" class="layui-input" name="title" value="{$data.values.title}">
        </div>
    </div>
    <div class="layui-form-item">
        <label for="" class="layui-form-label">关键字</label>
        <div class="layui-input-inline">
            <input type="text" class="layui-input" name="key" value="{$data.values.key}">
        </div>
    </div>
    <div class="layui-form-item">
        <label for="" class="layui-form-label">网站描述</label>
        <div class="layui-input-inline">
            <input type="text" class="layui-input" name="desc" value="{$data.values.desc}">
        </div>
    </div>
</form>
<div class="layui-form-item">
    <div class="layui-input-block">
        <button class="layui-btn" onclick="save()">保存</button>
    </div>
</div>
<script>

 layui.use(['layer'],function () {
        layer = layui.layer;
 $ = layui.jquery;
 })
    function save() {
        var title = $.trim($('input[name="title"]').val());
 if(title==''){
            layer.msg('网站名称不能为空',{'icon':2});
 return;
 }
        let data = new Object();
 data.names = 'site_setting';
 let value = new Object();    //存储表单中的值
 value.title = title;        //对象属性存储值
 value.key = $('input[name="key"]').val();//对象属性存储值
 value.desc = $('input[name="desc"]').val();//对象属性存储值
 data.values = value;    //传到后台的值创建一个属性,存入表单的值
 $.post('/index.php/admins/setting/save',data,function (data) {
            if(data.res==0){
                layer.msg(data.msg,{'icon':1});
 setTimeout(function () {window.location.reload()},1500)
            }else{
                layer.msg(data.msg,{'icon':2});
 }
        },'json')
    }
</script>
</body>
</html>

渲染值到模板

首先查询表中的值,然后将表中的values的值转换为数组json_decode(),然后将其值模板赋值输出.

    public function index()
    {
    //查询对应的数据
        $data = SysDb::table('setting')->where(['names'=>'site_setting'])->item();
    //查询成功将values值转换为数组进行模板遍历
        if($data){
            $data['values'] = json_decode($data['values'],true);
        }
//        dump($data);
        $this->view->assign('data',$data);
        return $this->view->fetch();
    }

23.png



批改老师:韦小宝批改时间:2018-12-29 09:15:27
老师总结:写的还是很不错的,很详细,系统设置还是蛮简单的,写的很棒!继续加油吧!

发布手记

热门词条