分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

视频学习笔录---ThinkPHP---TP功能类之公文管理功能

发布时间:2023-09-06 01:47责任编辑:郭大石关键词:PHP

【一】准备工作

(1)创建数据表

表名:sp_doc

create table sp_doc( ???id int(11) not null auto_increment, ???title varchar(50) not null comment‘公文标题‘, ???filepath varchar(255) default null comment‘附件存储路径‘, ???filename varchar(255) default null comment‘附件原名‘, ???hasfile smallint(1) default ‘0‘ comment‘是否存在附件‘, ???content text comment‘公文内容‘, ???author varchar(40) not null comment‘作者‘, ?addtime int(11) default null comment‘添加时间‘, ???primary key(id))engine=myisam default charset=utf8;

(2)创建控制器(公文document)

控制器:DocController.class.php

方法:showList   add

模板:showList.html   add.html

控制器DocController.class.php

<?php ???namespace Admin\Controller; ???use Think\Controller; ???class DocController extends Controller{ ???}?>

(3)创建二级导航

修改模板文件Index/index.html,修改出公文管理的导航菜单

 ????????<li> ???????????<a href="javascript:;" class="documentManage">公文管理</a> ???????????<ul> ???????????????<li><a href="{:U(‘Doc/showList‘)}" class="documentManage">公文列表</a></li> ???????????????<li><a href="{:U(‘Doc/add‘)}" class="documentManage">添加公文</a></li> ???????????</ul> ???????</li>

列表方法还是showList,添加方法还是add,即方法名不变。只修改控制器即可

(4)公文添加功能

控制器:DocController.class.php

方法:add(操作分两部分:模板展示和数据操作)

模板:add.html

①控制中创建add方法

   展示模板文件:

public function add(){ ???????????$this->display(); ???????}

 ②将模板文件add.html复制到指定位置,并换掉静态资源路径

 ③检查表单

注意:

          1. 因为表单需要提交附件,所以需要声明提交数据类型不光有字节流,还有二进制流。

enctype="multipart/form-data"

          2. 跟文件相关的字段有三个filepath、filename、hasfile三个

          3. 文件上传域的type类型file

          4. 表单提交,jquery提交。绑定a点击事件

<form action="" method="post" enctype="multipart/form-data"> ???<fieldset> ???????<legend>添加公文</legend> ???????????<p><label for="title">标题:</label><input type="text" name="title" id="title"></p> ???????????<p><label for="filename">附件</label><input type="file" name="filename" id="filename"></p> ???????????<p><label for="author">作者</label><input type="text" name="author" id="author"></p> ???????????<p><label for="content">内容:</label><textarea name="content" id="content"></textarea></p> ???????????<div> ???????????????<a href="javascript:;" id="submitBtn">提交</a> ???????????????<a href="javascript:;" id="resetBtn">清空</a> ???????????</div> ???</fieldset></form><script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script><script type="text/javascript"> ???$(document).ready(function(){ ???????$(‘#submitBtn‘).on(‘click‘,function(){ ???????????$(‘form‘).submit(); ???????}); ???????$(‘#resetBtn‘).on(‘click‘,function(){ ???????????$(‘form‘).get(0).reset(); ???????}); ???});</script>

④先不考虑文件上传,将其他几个字段实现入表保存

public function add(){ ???????????if(IS_POST){//处理提交 ???????????????// 接收除了file外其他字段,因为file无法通过post接收 ???????????????$post = I(‘post.‘); ???????????????//补全addtime字段 ???????????????$post[‘addtime‘]=time(); ???????????????//实例化模型 ???????????????$model = M(‘doc‘); ???????????????$result = $model->add($post); ???????????????//判断保存结果 ???????????????if($result){ ???????????????????$this->success(‘添加成功‘,U(‘showList‘),3); ???????????????}else{ ???????????????????$this-error(‘添加失败‘); ???????????????} ???????????}else{//展示模板 ???????????????$this->display(); ???????????} ???????????????????}

添加结果:

不考虑文件上传的前提下,其他字段上传已经完成

(5)

.

视频学习笔录---ThinkPHP---TP功能类之公文管理功能

原文地址:https://www.cnblogs.com/jianxian/p/8689105.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved