視頻學習筆錄---ThinkPHP---案例2--職員管理功能
阿新 • • 發佈:2018-04-01
寫入 入庫 action ava mes tab 處理 sig input
【一】準備工作
(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--職員管理功能