abstract:controller/Slide.php<?php namespace app\admin\controller; use app\admin\controller\Common; use app\admin\model\SlideModel; use think\facade\Request; use think\facade\Sessio
controller/Slide.php
<?php namespace app\admin\controller; use app\admin\controller\Common; use app\admin\model\SlideModel; use think\facade\Request; use think\facade\Session; class Slide extends Common { public function index() { $slide =new SlideModel(); //查詢數(shù)據(jù)按照id排序并且每頁(yè)4個(gè)數(shù)據(jù) $slides = $slide->order('id','desc')->paginate(4); $this->view->slides = $slides; return $this->fetch(); } public function add() { return $this->fetch(); } public function upload() { //獲取上傳圖片信息 $file = Request::file('file'); //驗(yàn)證并且移動(dòng)到指定目錄 if($info = $file->validate(['ext'=>'jpg,jpeg,png,gif'])->move('upload')){ //返回上傳成功信息 $fileName='/upload/'.$info->getSaveName(); return json([1,'上傳成功','data'=>$fileName]); }else{ //返回錯(cuò)誤信息 return $file->getError(); } } public function DoAdd() { //獲取提交過來的數(shù)據(jù) $data = Request::param(); $data['time'] = time(); $data['username'] = Session::get('username'); //實(shí)例化模型 $slide = new SlideModel(); if($slide->save($data)){ return ['res'=>1,'msg'=>'添加成功!']; }else{ return ['res'=>0,'msg'=>'添加失敗!']; } } public function del() { $slideId = Request::param('id'); $slide = new SlideModel(); if($slide->destroy($slideId)){ return ['res'=>1]; } } }
model/SlideModel.php
<?php namespace app\admin\model; use \think\Model; class SlideModel extends Model { protected $table = 'slide'; protected $pk = 'id'; }
view/add.html
{include file="/public/head"} <body> <div class="x-body"> <form class="layui-form"> <div> <label class="layui-form-label">輪播圖</label> <div class="layui-input-block"> <button type="button" class="layui-btn" id="upload" >圖片上傳</button> <div class="layui-upload-list" id="thumbnail"></div> </div> </div> <div class="layui-form-item"> <label for="desc" class="layui-form-label"> <span class="x-red">*</span>輪播圖說明 </label> <div class="layui-input-inline"> <textarea placeholder="請(qǐng)輸入內(nèi)容" id="desc" name="desc" class="layui-textarea"></textarea> </div> </div> <div class="layui-form-item"> <label for="L_repass" class="layui-form-label"> </label> <button class="layui-btn" lay-filter="add" lay-submit=""> 增加 </button> </div> </form> </div> <script src="__ADMIN__/lib/layui/layui.js"></script> <script> layui.use(['form', 'layer','upload'], function () { $ = layui.jquery; var form = layui.form , layer = layui.layer, upload = layui.upload; upload.render({ elem: '#upload', url: "{:url(\'Slide/upload\')}", multiple: true, before: function(obj){ //預(yù)讀本地文件示例,不支持ie8 obj.preview(function(index, file, result){ $('#thumbnail').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img">') }); }, done: function(res){ //上傳完畢 $('#thumbnail').append('<input type="hidden" name="slide_pic" id="slide_pic" value="'+res.data +'" />') } }); //監(jiān)聽提交 form.on('submit(add)', function(data){ console.log(data); //發(fā)異步,把數(shù)據(jù)提交給php $.post('{:url(\'Slide/DoAdd\')}',{ 'pic':$('#slide_pic').val(), 'desc':$('#desc').val(), },function(data){ if(data.res==1){ layer.alert(data.msg, {icon: 6},function () { // 獲得frame索引 var index = parent.layer.getFrameIndex(window.name); //關(guān)閉當(dāng)前frame parent.layer.close(index); }); }else{ layer.alert(data.msg, {icon: 6},function () { // 獲得frame索引 var index = parent.layer.getFrameIndex(window.name); //關(guān)閉當(dāng)前frame parent.layer.close(index); }); } }); return false; }); }); </script> </body> </html>
view/index.html
{include file="/public/head"} <body> <div class="x-nav"> <span class="layui-breadcrumb"> <a href="">首頁(yè)</a> <a href="">演示</a> <a> <cite>導(dǎo)航元素</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(\'Slide/add\')}')"><i class="layui-icon"></i>添加</button> <span class="x-right" style="line-height:40px">共有數(shù)據(jù):88 條</span> </xblock> <table class="layui-table layui-form"> <thead> <tr> <th width="70">輪播圖ID</th> <th>輪播圖</th> <th width="200">輪播圖說明</th> <th width="200">管理員</th> <th width="200">發(fā)布時(shí)間</th> <th width="200">操作</th> </thead> <tbody> {volist name="slides" id="slide"} <tr> <td>{$slide.id}</td> <td> <img src="{$slide.pic}"> </td> <td>{$slide.desc}</td> <td>{$slide.username}</td> <td>{$slide.time|date="Y-m-d"}</td> <td class="td-manage"> <button class="layui-btn-danger layui-btn layui-btn-xs" onclick="member_del(this,'{$slide.id}')" href="javascript:;"><i class="layui-icon"></i>刪除 </button> </td> </tr> {/volist} </tbody> </table> <div class="page"> <div> {$slides|raw} </div> </div> </div> <script> layui.use('laydate', function(){ var laydate = layui.laydate; //執(zhí)行一個(gè)laydate實(shí)例 laydate.render({ elem: '#start' //指定元素 }); //執(zhí)行一個(gè)laydate實(shí)例 laydate.render({ elem: '#end' //指定元素 }); }); /*用戶-刪除*/ function member_del(obj,id){ layer.confirm('確認(rèn)要?jiǎng)h除嗎?',function(index){ //發(fā)異步刪除數(shù)據(jù) $.get('{:url(\'Slide/del\')}','id='+id,function(data) { if (data.res == 1) { $(obj).parents("tr").remove(); layer.msg('已刪除!', {icon: 1, time: 1000}); } }) }); } </script> </body> </html>
Correcting teacher:天蓬老師Correction time:2019-08-15 10:53:17
Teacher's summary:return json([1,'上傳成功','data'=>$fileName]);, 默認(rèn)返回的就是json, 沒必要這樣..
抽空看看手冊(cè), 只看視頻是學(xué)不會(huì)的