批改状态:未批改
老师批语:
广告分类列表,通过Adver类的cat_list方法在shop_adver_cat查询出所有的记录传给前端。
//广告分类列表public function cat_list() {//查询广告分类表(shop_adver_cat)的所有数据$list = $this->db->table('shop_adver_cat')->lists();$this->assign('list', $list);return $this->fetch();}
建立前端adver/cat_list.php,把后端给的数据渲染出来,提供了添加、编辑、删除功能,通过js方法将数据再发送给后段相应的方法处理,后段相应的方法将处理后的数据再发送给前端cat_add.php
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" type="text/css" href="/static/plugins/layui/css/layui.css"><script type="text/javascript" src="/static/plugins/layui/layui.js"></script><style type="text/css">.header span{background: #009688;margin-left: 30px;padding: 10px;color:#ffffff;}.header div{border-bottom: solid 2px #009688;margin-top: 8px;}.header button{float: right;margin-top: -5px;}</style></head><body style="padding: 10px;"><div class="header"><span>广告分类列表</span><button class="layui-btn layui-btn-sm" onclick="add()">添加</button><div></div></div><table class="layui-table"><thead><tr><th>ID</th><th>分类名</th><th>分类位置</th><th>广告列表</th><th>操作</th></tr></thead><tbody><!-- 循环出所有广告分类 -->{volist name="list" id="vo"}<tr><td>{$vo.cat_id}</td><td>{$vo.cat_name}</td><td>{$vo.cat_position}</td><td><button class="layui-btn layui-btn-xs" onclick="url({$vo.cat_id})">此分类——广告列表</button></td><td><button class="layui-btn layui-btn-xs" onclick="add({$vo.cat_id})">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" onclick="del({$vo.cat_id})">删除</button></td></tr>{/volist}</tbody></table><script type="text/javascript">layui.use(['layer'],function(){layer = layui.layer;$ = layui.jquery;});// 添加编辑function add(id) {layer.open({type: 2,title: id>0 ? '编辑广告分类' : '添加广告分类',shade: 0.3,area: ['480px', '420px'],content: '/index.php/admins/Adver/cat_add?id='+id});}//分类下的广告列表function url(id) {window.location.href = "/index.php/admins/Adver/lists?id="+id;}// 删除function del(id) {layer.confirm('确定要删除吗?', {icon: 3,btn: ['确定', '取消']}, function () {$.post('/index.php/admins/Adver/delete', {'id':id}, function (res) {if (res.code > 0) {layer.alert(res.msg, {icon:2});} else {layer.msg(res.msg);setTimeout(function () {window.location.reload();}, 1000)}}, 'json');});}</script></body></html>
//广告分类添加 编辑public function cat_add() {//接收get来的id$id = (int)input('get.id');//获取id值对应的广告分类数据//(这里不判断id的值 因为id有值就可以对应得到该条信息 如果没有就没有了 可以在保存操作再判断)$data = $this->db->table('shop_adver_cat')->where(array('cat_id'=>$id))->item();$this->assign('data', $data);return $this->fetch();}
弹出页面,有js保存方法,将所有数据传给后台的保存方法处理,进行相应的添加和修改操作。
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" type="text/css" href="/static/plugins/layui/css/layui.css"><script type="text/javascript" src="/static/plugins/layui/layui.js"></script></head><body style="padding: 10px;"><form class="layui-form"><!-- hidden 是把input框隐藏,它的作用是把一些隐藏信息传值到接口中 --><input type="hidden" name="cat_id" value="{$data.cat_id}"><div class="layui-form-item"><label class="layui-form-label">分类名</label><div class="layui-input-inline"><!-- value 是默认值 --><!-- 当添加时,传值是0,默认值是空 --><!-- readonly 是input里的一个参数,可以禁用input框,只有在修改用户时,才使用 --><input type="text" class="layui-input" name="cat_name" value="{$data.cat_name}"></div></div><div class="layui-form-item"><label class="layui-form-label">分类位置</label><div class="layui-input-inline"><input type="text" class="layui-input" name="cat_position" value="{$data.cat_position}"></div></div></form><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" onclick="save()">保存</button></div></div><script type="text/javascript">layui.use(['layer','form'],function(){form = layui.form;layer = layui.layer;$ = layui.jquery;});// 保存管理员function save(){// 用js 获取cat_id、用户名、密码、角色、真实姓名var cat_name = $.trim($('input[name="cat_name"]').val());var cat_position = $.trim($('input[name="cat_position"]').val());if(cat_name==''){layer.alert('请输入广告分类名',{icon:2});return;}if(cat_position==''){layer.alert('请输入广告分类位置',{icon:2});return;}// 请求保存接口,把数据传值到接口中。$.post('/index.php/admins/Adver/cat_save',$('form').serialize(),function(res){if(res.code>0){layer.alert(res.msg,{icon:2});}else{layer.msg(res.msg);setTimeout(function(){parent.window.location.reload();},1000);}},'json');}</script></body></html>
//广告分类保存public function cat_save() {$id = (int)input('post.cat_id');$data['cat_name'] = trim(input('post.cat_name'));$data['cat_position'] = trim(input('post.cat_position'));//通过id值判断操作(0是添加 非0就是编辑)if ($id) {$res = $this->db->table('shop_adver_cat')->where(array('cat_id'=>$id))->update($data);} else {$res = $this->db->table('shop_adver_cat')->insert($data);}if ($res) {exit(json_encode(array('code'=>0, 'msg'=>'保存成功')));} else {exit(json_encode(array('code'=>1, 'msg'=>'保存失败')));}}
最后实现广告删除操作
//广告分类删除public function delete() {//16 接收传过来的id$id = (int)input('post.id');//16 执行删除操作$res = $this->db->table('shop_adver_cat')->where(array('cat_id'=>$id))->delete();if (!$res) {exit(json_encode(array('code'=>1, 'msg'=>'删除失败')));}exit(json_encode(array('code'=>0, 'msg'=>'删除成功')));}
//广告列表public function lists() {$id = (int)input('get.id');//查询出广告列表下符合cat_id的所有记录$list = $this->db->table('shop_adver')->where(array('cat_id'=>$id))->lists();//将cat_id 和查询出来的数据发给前端 cat_id是为了添加广告是放在相应的广告分类下$this->assign('id', $id);$this->assign('list', $list);return $this->fetch();}
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" type="text/css" href="/static/plugins/layui/css/layui.css"><script type="text/javascript" src="/static/plugins/layui/layui.js"></script><style type="text/css">.header span{background: #009688;margin-left: 30px;padding: 10px;color:#ffffff;}.header div{border-bottom: solid 2px #009688;margin-top: 8px;}.header button{float: right;margin-top: -5px;}</style></head><body style="padding: 10px;"><div class="header"><span style="background-color:#999;"><a href="/index.php/admins/Adver/cat_list" style="color:#fff;">广告分类列表</a></span><span>广告列表</span><button class="layui-btn layui-btn-sm" onclick="add()">添加</button><div></div></div><table class="layui-table"><thead><tr><th>ID</th><th>广告标题</th><th>状态</th><th>操作</th></tr></thead><tbody><!-- 循环出所有广告 -->{volist name="list" id="vo"}<tr><td>{$vo.id}</td><td><a href="{$vo.cat_url}" target="_blank">{$vo.cat_title}</a></td><td>{if condition="$vo.status == 1"}<span style="color: green;">开启</span>{else/}<span style="color: red;">关闭</span>{/if}</td><td><button class="layui-btn layui-btn-xs" onclick="add({$vo.id})">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" onclick="del({$vo.id})">删除</button></td></tr>{/volist}</tbody></table><script type="text/javascript">//把cat_id接收var cat_id = '{$id}';layui.use(['layer'],function(){layer = layui.layer;$ = layui.jquery;});// 添加编辑function add(id) {layer.open({type: 2,title: id>0 ? '编辑广告' : '添加广告',shade: 0.3,area: ['480px', '420px'],content: '/index.php/admins/Adver/lists_add?id='+id+'&cat_id='+cat_id});}// 删除function del(id) {layer.confirm('确定要删除吗?', {icon: 3,btn: ['确定', '取消']}, function () {$.post('/index.php/admins/Adver/adv_delete', {'id':id}, function (res) {if (res.code > 0) {layer.alert(res.msg, {icon:2});} else {layer.msg(res.msg);setTimeout(function () {window.location.reload();}, 1000)}}, 'json');});}</script></body></html>
//编辑 添加广告public function lists_add() {//接收cat_id 和 id$cat_id = (int)input('get.cat_id');$id = (int)input('get.id');//查询id 对应的记录$list = $this->db->table('shop_adver')->where(array('id'=>$id))->item();$this->assign('cat_id', $cat_id);$this->assign('list', $list);return $this->fetch();}
<!DOCTYPE html><html><head><title></title><link rel="stylesheet" type="text/css" href="/static/plugins/layui/css/layui.css"><script type="text/javascript" src="/static/plugins/layui/layui.js"></script></head><body style="padding: 10px;"><form class="layui-form"><!-- hidden 是把input框隐藏,它的作用是把一些隐藏信息传值到接口中 --><input type="hidden" name="cat_id" value="{$cat_id}"><input type="hidden" name="id" value="{$list.id}"><div class="layui-form-item"><label class="layui-form-label">标题</label><div class="layui-input-inline"><!-- value 是默认值 --><!-- 当添加时,传值是0,默认值是空 --><!-- readonly 是input里的一个参数,可以禁用input框,只有在修改用户时,才使用 --><input type="text" class="layui-input" name="cat_title" value="{$list.cat_title}"></div></div><div class="layui-form-item"><label class="layui-form-label">跳转地址</label><div class="layui-input-inline"><input type="text" class="layui-input" name="cat_url" value="{$list.cat_url}"></div></div><div class="layui-form-item"><label class="layui-form-label">排序</label><div class="layui-input-inline"><input type="text" class="layui-input" name="sort" value="{$list.sort}"></div></div><div class="layui-form-item"><label class="layui-form-label">状态</label><div class="layui-input-inline"><input type="checkbox" name="status" lay-skin="primary" title="开启" value="1" checked="checked"></div></div></form><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" onclick="save()">保存</button></div></div><script type="text/javascript">layui.use(['layer','form'],function(){form = layui.form;layer = layui.layer;$ = layui.jquery;});// 保存管理员function save(){// 用js 获取cat_id、用户名、密码、角色、真实姓名var cat_title = $.trim($('input[name="cat_title"]').val());if(cat_title==''){layer.alert('请输入广告标题',{icon:2});return;}// 请求保存接口,把数据传值到接口中。$.post('/index.php/admins/Adver/lists_save',$('form').serialize(),function(res){if(res.code>0){layer.alert(res.msg,{icon:2});}else{layer.msg(res.msg);setTimeout(function(){parent.window.location.reload();},1000);}},'json');}</script></body></html>
//保存广告public function lists_save() {//将post来的所有信息保存下来$id = (int)input('post.id');$data['cat_id'] = (int)input('post.cat_id');$data['cat_title'] = trim(input('post.cat_title'));$data['cat_url'] = trim(input('post.cat_url'));$data['sort'] = trim(input('post.sort'));$data['status'] = trim(input('post.status'));if ($id) {$res = $this->db->table('shop_adver')->where(array('id'=>$id))->update($data);} else {$res = $this->db->table('shop_adver')->insert($data);}if ($res) {exit(json_encode(array('code'=>0, 'msg'=>'保存成功')));} else {exit(json_encode(array('code'=>1, 'msg'=>'保存失败')));}}//删除广告public function adv_delete() {//16 接收传过来的id$id = (int)input('post.id');//16 执行删除操作$res = $this->db->table('shop_adver')->where(array('id'=>$id))->delete();if (!$res) {exit(json_encode(array('code'=>1, 'msg'=>'删除失败')));}exit(json_encode(array('code'=>0, 'msg'=>'删除成功')));}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号