param('title');//接收请求数据id $where='1=1';//没有搜索条件则默认查询所有数据 if(!empty($title)){//不为空执行搜索条件,为空则跳过判断条件直接显示列表页, $where = ['title'=>$title]; } //数据表获取总记录数 $count = $user->where($where)->count(); //获取每页显示的条数 $limit= $request->param('limit'); //获取当前页码 $page= $request->param('page'); //limit的起始位置 $start=($page-1)*$limit; $list = $user ->alias('a') ->field('a.*,b.catename') ->join('column b','a.column_id=b.id') ->limit("$start,$limit") ->where($where) ->select(); return ["code"=>0,"msg"=>"成功","count"=>$count,"data"=>$list]; } public function add(){//添加 $user = new ArticleModel(); if(request()->isPost()){ $data = input('post.'); if($_FILES['pic']['tmp_name']){//上传图片 $data['pic']=$this->upload();//调用upload方法 } if($data['keywords']==''){//解决keywords为'' $data['keywords']=null; } $data['time']=date('Y-m-d',time()); $add=$user->insert($data); if($add){ echo "";//后台直接实现弹窗,操作完成并显示列表页 }else{ echo ""; } } $column = db('column')->select(); $this->assign([ 'column'=>$column,//栏目列表 ]); return view(); } public function edit(){//编辑 $user = new ArticleModel(); $id = input('id'); $db = $user->where('id',$id)->find(); if(request()->isPost()){ $data = input('post.'); //处理图片上传 if($_FILES['pic']['tmp_name']){ $oldarticles=db('article')->field('pic')->find($data['id']); $oldarticleImg=ADMINIMG.$oldarticles['pic']; if(file_exists($oldarticleImg)){ @unlink($oldarticleImg); } $data['pic']=$this->upload(); } if($data['keywords']==''){//解决keywords为'' $data['keywords']=null; } $save=$user->update($data); if($save!==false){ echo "";//后台直接实现弹窗,操作完成并显示列表页 }else{ echo ""; } } $column = db('column')->select(); $this->assign([ 'db'=>$db,//文章数据 'column'=>$column,//导航栏数据 ]); return view(); } public function del(){//删除 $user = new ArticleModel(); if(request()->isPost()){ $id = input('id'); //先删除本地文件夹的图片 $pic=$user->field('pic')->where('id',$id)->find(); if(!empty($pic)){//判断不为空 $picSrc=ADMINIMG.$pic['pic']; if(file_exists($picSrc)){ @unlink($picSrc); } } //在删除数据库信息 $del=$user->where('id',$id)->delete(); if($del){ return 1;//删除成功 }else{ return 2;//删除失败 } } } public function pdel(){//批量删除 $user = new ArticleModel(); if(request()->isPost()){ $id = input('post.');//接收前台id $ids = implode(',',$id);//将id用逗号进行隔开 $where = [ 'id'=>['in',$ids], ]; //批量删除本地图片 $pic=$user->where($where)->column('pic');//查询满足条件的pic字段数组信息 if(!empty($pic)){//判断不为空 $pi = implode(',',$pic);//将pic(图片路径)字段用逗号进行隔开 foreach ($pic as $value) {//将拆分的路径进行循环输出 $picSrc = ADMINIMG.$value;//将入口文件(public/index.php)定义的本地图片存放路径和$value(图片名称)进行拼接 if(file_exists($picSrc)){//如果该路径下有满足条件的图片名称则进行删除,file_exists():判断文件是否存在 @unlink($picSrc);//@unlink():删除图片 } } } $list = $user->where($where)->delete(); if($list){ return 1;//删除成功 }else{ return 2;//删除失败 } } } //上传图片 public function upload(){ // 获取表单上传文件 例如上传了001.jpg $file = request()->file('pic'); // 移动到框架应用根目录/public/uploads/ 目录下 if($file){ $info = $file->move(ROOT_PATH . 'public' . DS . 'static'. DS .'uploads'); if($info){ return $info->getSaveName(); }else{ // 上传失败获取错误信息 echo $file->getError();die; } } } }