分享web开发知识

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

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

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

发布时间:2023-09-06 01:47责任编辑:沈小雨关键词:PHP

【一】准备工作

(1)创建菜单,修改跳转路径

 ????????<li> ???????????<a href="javascript:;" class="workerManage">职员管理</a> ???????????<ul> ???????????????<li><a href="{:U(‘User/showList‘)}" class="workerManage">职员列表</a></li> ???????????????<li><a href="{:U(‘User/add‘)}" class="workerManage">添加职员</a></li> ???????????</ul> ???????</li>

(2)创建控制器UserController.class.php

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

【二】职员添加

分析:控制器UserController.class.php

方法:add

模板:add.html

(1)add方法,展示添加职员的模板

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

(2)复制模板文件add.html到指定位置Admin/View/User/add.html,修改静态资源路径

(3)改写add方法,查询部门信息,展示到模板的下拉列表

public function add(){ ???????????//查询部门信息 ???????????$data = M(‘dept‘)->field(‘id,name‘)->select(); ???????????$this->assign(‘data‘,$data); ???????????$this->display(); ???????}
所属部门: ???????<select name="dept_id"> ???????????<foreach name="data" item="fo"> ???????????????<option value="{$fo.id}">{$fo.name}</option> ???????????</foreach> ???????</select>

(4)检查模板表单

提交单当前页面可以不写,或者当前控制器下的add方法

<form action="" method="post"> ???<fieldset> ???????<legend>添加职员</legend> ???????<p><label for="username">用户名:</label><input type="text" name="username" id="username"></p> ???????<p><label for="password">密码:</label><input type="text" name="password" id="password"></p> ???????<p><label for="nickname">姓名:</label><input type="text" name="nickname" id="nickname"></p> ???????<p><label for="truename">全称:</label><input type="text" name="truename" id="truename"></p> ???????<p>所属部门: ???????????<select name="dept_id"> ???????????????<foreach name="data" item="fo"> ???????????????????<option value="{$fo.id}">{$fo.name}</option> ???????????????</foreach> ???????????</select> ???????</p> ???????<p> ???????????性别: ???????????<label for="man">男</label><input type="radio" name="sex" value="1" id="man"> ???????????<label for="woman">女</label><input type="radio" name="sex" value="2" id="woman"> ???????</p> ???????????<p><label for="birthday">生日:</label><input type="date" name="birthday" id="birthday"></p> ???????<p><label for="tel">联系电话:</label><input type="text" name="tel" id="tel"></p> ???????<p><label for="email">邮箱:</label><input type="text" name="email" id="email"></p> ???????<p><label for="remark">备注:</label><textarea name="remark" id="remark"></textarea></p> ???????<p> ???????????<a href="javascript:;" id="submitBtn">提交</a> ???????????<a href="javascript:;" id="resetBtn">清空</a> ???????</p> ???</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>

注意:

        ①清空方法记得将jquery对象转化为js的dom对象,否则无法用js的reset重置操作

        ②时间控件用的H5的type="date"

(5)改写add方法,编写处理表单代码,实现数据的接收和入库

public function add(){ ???????????if(IS_POST){//数据提交 ???????????????// 数据对象创建方法接收数据 ???????????????$model = M(‘user‘); ???????????????//创建数据对象(因为还有一个发布时间,在模板里没有,所以要在这里添加) ???????????????$data = $model->create(); ???????????????//添加时间字段 ???????????????$data[‘addtime‘] = time(); ???????????????//写入数据表 ???????????????$result = $model->add($data); ???????????????if ($result) { ???????????????????$this->success(‘添加成功‘,U(‘showList‘),3); ???????????????}else{ ???????????????????$this->error(‘添加失败‘); ???????????????} ???????????}else{//模板展示 ???????????????//查询部门信息 ???????????????$data = M(‘dept‘)->field(‘id,name‘)->select();//select返回二维数组,find返回一维数组 ???????????????$this->assign(‘data‘,$data); ???????????????$this->display(); ???????????} ???????}

【三】职员列表的展示

控制器:UserController.class.php

方法:showlist

模板:showList.html

(1)创建showList方法,展示数据和模板

public function showList(){ ???????????????//展示数据 ???????????????$data = M(‘user‘)->select(); ???????????????$this->assign(‘data‘,$data); ???????????????//展示模板 ???????????????$this->display(); ???????????}

(2)将模板文件showList.html复制到指定位置Admin/View/User/showList.html,修改静态资源路径

(3)将data数据展示到模板

注意:因为data是select查询返回的结果,所以是二维数组。在模板里需要遍历

<table border="1" cellspacing="0" cellpadding="10"> ???<thead> ???????<tr><td>序号</td><td>姓名</td><td>昵称</td><td>所属部门</td><td>性别</td><td>生日</td><td>电话</td><td>邮箱</td> ???????<td>添加时间</td><td>编辑</td></tr> ???</thead> ???<foreach> ???????<volist name="data" id="vol"> ???????????<tr> ???????????????<td>{$vol.id}</td> ???????????????<td>{$vol.username}</td> ???????????????<td>{$vol.nickname}</td> ???????????????<td>{$vol.dept_id}</td> ???????????????<td>{$vol.sex}</td> ???????????????<td>{$vol.birthday}</td> ???????????????<td>{$vol.tel}</td> ???????????????<td>{$vol.email}</td> ???????????????<td>{$vol.addtime|date=‘Y-m-d H:i:s‘,###}</td> ???????????????<td><a href="javascript:;">编辑</a></td> ???????????</tr> ???????</volist> ???</foreach></table>

【四】

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

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

知识推荐

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