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

Posted jianxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了视频学习笔录---ThinkPHP---TP功能类之公文管理功能相关的知识,希望对你有一定的参考价值。

【一】准备工作

(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功能类之公文管理功能的主要内容,如果未能解决你的问题,请参考以下文章

视频学习笔录---ThinkPHP---TP功能类

视频学习笔录---ThinkPHP---案例代码

视频学习笔录---ThinkPHP---案例2--职员管理功能

视频学习笔录---ThinkPHP---thinkphp完善站内信功能

视频学习笔录---ThinkPHP---框架介绍

音视频开发笔录