[thinkPHP5项目实战_15]创建文章读取栏目列表
来源:互联网 发布:三月软件工作室 编辑:程序博客网 时间:2024/05/01 04:56
本文分享在创建文章时读取栏目列表并选择的功能
首先在数据库中添加cateid字段,类型为mediumint
创建文章的页面展示cate代码:
<tr> <th>描述:</th> <td> <select name="cateid"> {volist name="cateres" id="vo"} <option value="{$vo.ID}">{$vo.catename}</option> {/volist} </select> </td> </tr>
通过读取cate表获取cate的信息渲染在模板上,在创建文章的add操作方法中读取cate,并写入数据库
public function add() { //reuqest方法继承于Controller,使用request助手函数判断请求方式 //使用助手函数input接收接收输入的值 if(request()->isPost()){ $data = [ 'title' => input('title'), 'keywords' => input('keywords'), 'desc' => input('desc'), 'cateid' => input('cateid'), 'content' => input('content'), 'time' => time(), ]; //判断表单是否上传了文件 if($_FILES['pic']['tmp_name']){ //获取表单上传的文件 $file = request()->file('pic'); // 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->move(ROOT_PATH . 'public' . DS . '/static/uploads'); if($info){ //拼接文件路径 //使用date()方法计算出八位时间,上传到uploads的文件所在的文件名就是这八位时间 //使用$info->getFilename()方法获取文件名 $data['pic'] = '/static/uploads/'.date('Ymd').'/'.$info->getFilename(); }else{ // 上传失败返回错误信息 return $this->error($file->getError()); } }; //对输入的内容进行验证,使用tp5推荐的验证器的方式 $validate = \think\Loader::validate('Article'); if($validate->check($data)){ //文件上传完毕,表单验证完毕,存入数据库 $res = \think\Db::name('article')->insert($data); //添加判断,成功则跳转到lists方法 if($res){ return $this->success('增加文章成功'); }else{ return $this->error('增加文章失败'); } }else{ //验证失败输出提示信息 return $this->error($validate->getError()); } return; } //获取cateid $cateres = db('cate')->select(); $this->assign('cateres',$cateres);//模板赋值 return $this->fetch(); }
即可为文章添加栏目选项
阅读全文
0 0
- [thinkPHP5项目实战_15]创建文章读取栏目列表
- [thinkPHP5项目实战_16]文章列表展示
- [thinkPHP5项目实战_10]栏目列表输出和删除
- [thinkPHP5项目实战_25]前台文章列表展示
- [thinkPHP5项目实战_11]栏目修改
- [thinkPHP5项目实战_12]文章管理界面创建
- [thinkPHP5项目实战_09]后台添加栏目及验证
- [thinkPHP5项目实战_24]前台页面导航栏目调用
- [thinkPHP5项目实战_17]文章编辑
- [thinkPHP5项目实战_13]新增文章界面附件上传
- [thinkPHP5项目实战_26]前台文章关键词搜索
- ThinkPHP5创建项目
- [thinkPHP5项目实战_28]前台文章"相关文章"的功能完善
- [thinkPHP5项目实战_29]前台首页和文章搜索功能完善
- ThinkPHP5开发(五)显示博客文章列表
- dede调用副栏目文章列表方法
- [thinkPHP5项目实战_06]引入前台页面
- [thinkPHP5项目实战_14]场景验证
- 实验四:顺序栈和链栈
- 1659: [Usaco2006 Mar]Lights Out 关灯 迭代加深搜索
- Linux车机平台pulseaudio多alsasink配置
- js实现输入框自动提示功能
- 【A0012013B】Vuforia v1.5 SDK: Analysis and evaluation of capabilities
- [thinkPHP5项目实战_15]创建文章读取栏目列表
- MVC session过期时如何跳转
- 任学堂:一个班的差生,两年之后全班升本科,班主任做了什么?
- HDU-3757-Evacuation Plan
- layer 二次封装
- Vue传递数据到后台SpringMVC接收解析返回
- appium java 如何截图并另存为其他地方
- BZOJ1076 [SCOI2008]奖励关
- 导入证书到jvm步骤