摘要:<?php namespace app\admin\controller; use app\admin\controller\Common; use app\admin\model\ProductModel; use app\admin\model\ProductPicModel; use think\facade\Request; use&
<?php namespace app\admin\controller; use app\admin\controller\Common; use app\admin\model\ProductModel; use app\admin\model\ProductPicModel; use think\facade\Request; use think\facade\Session; class ProductPic extends Common { public function index() { //实例化模型 $proPic = new ProductPicModel(); $productPic = $proPic->order('id','ascending') ->paginate(4); $this->view->productPic = $productPic; //渲染产品缩略图列表 return $this->fetch(); } public function add() { //查询所有产品数据 $product = ProductModel::all(); //将数据赋值给模板 $this->view->product = $product; //渲染添加界面 return $this->fetch(); } public function upload() { //获取上传图片信息 $file = Request::file('file'); //验证并移动到指定目录 if($info = $file->validate(['ext'=>'jpg,jpeg,png,gif,bmp']) ->move('upload')){ //拼接图片路径 $fileName = '/upload/'.$info->getSaveName(); //返回成功信息 return json([1,'上传成功','data'=>$fileName]); }else{ //返回失败信息 return $file->getError(); } } public function DoAdd() { //获取提交数据 $data = Request::param(); $data['time']=time(); $data['username']=Session::get('username'); //实例化模型 $proPic = new ProductPicModel(); if($proPic->save($data)){ return ['res'=>1,'msg'=>'发布成功']; }else{ return ['res'=>0,'msg'=>'发布失败']; } } public function del() { //获取信息 $productId = Request::param('id'); $productPic = new ProductPicModel(); if($productPic->destroy($productId)){ return ['res'=>1,'msg'=>'删除成功']; } } }
{include file="/public/head"} <body> <div class="x-nav"> <span class="layui-breadcrumb"> <a href="">首页</a> <a href="">演示</a> <a> <cite>导航元素</cite></a> </span> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="javascript:location.replace(location.href);" title="刷新"> <i class="layui-icon" style="line-height:30px">ဂ</i></a> </div> <div class="x-body"> <xblock> <button class="layui-btn" onclick="x_admin_show('添加缩略图','{:url(\'ProductPic/add\')}')"><i class="layui-icon"></i>添加</button> <span class="x-right" style="line-height:40px">共有数据:条</span> </xblock> <table class="layui-table"> <thead> <tr> <!--<th> <div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon"></i></div> </th>--> <th>图片ID</th> <th>所属产品</th> <th>图片</th> <th>发布人</th> <th>发布日期</th> <th >操作</th> </tr> </thead> <tbody> {volist name="productPic" id="product"} <tr> <!-- <td> <div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'> <i class="layui-icon"></i></div> </td>--> <td>{$product.id}</td> <td>{:GetProTitle($product.product_id)}</td> <td><img src="{$product.pic}"></td> <td>{$product.username}</td> <td>{$product.time|date="Y-m-d"}</td> <td class="td-manage"> <a title="删除" onclick="member_del(this,'{$product.id}')" href="javascript:;"> <i class="layui-icon"></i> </a> </td> </tr> {/volist} </tbody> </table> <div class="page"> <div> </div> </div> </div> <script> layui.use('laydate', function(){ var laydate = layui.laydate; //执行一个laydate实例 laydate.render({ elem: '#start' //指定元素 }); //执行一个laydate实例 laydate.render({ elem: '#end' //指定元素 }); }); /*用户-删除*/ function member_del(obj,id){ layer.confirm('确认要删除吗?',function(index){ //发异步删除数据 $.get('{:url(\'del\')}','id='+id,function(data){ if(data.res ==1){ $(obj).parents("tr").remove(); layer.msg('已删除!',{icon:1,time:1000}); } }) }); } </script> </body> </html>
批改老师:天蓬老师批改时间:2019-01-05 14:36:42
老师总结:添加的时候没必要把所有产品都加载出来,只需要把对应的一个产品加载出来就可以了
图片上传只验证扩展名是不够的