部门管理功能的实现
【一】部门列表展示
分析:
①控制器DeptController.class.php ②方法showList(不要使用list方法,因为list是关键词) ③模板文件:showList.html
下面按步骤编写
①创建方法showList来展示模板
class DeptController extends Controller{ public function showList(){ $this->display(); } }
②将模板文件showList.html复制到View/Dept下(因为控制器为Dept,方法为showList,所以要一一对应)
③修改静态资源路径
④修该showList方法,获取部门数据。并传递到模板
public function showList(){ $model = M('dept');//模型实例化 $data = $model->order('sort asc')->select();//条件查询,升序排列 $this->assign('data',$data);//变量分配传递到模板 $this->display(); }
⑤模板遍历读取数据
<table border="1" cellspacing="0"> <tr> <td>id</td><td>部门</td><td>所属部门</td><td>排序</td><td>备注</td><td>编辑数据</td><td>删除数据</td> </tr> <volist name='data' id='vol'> <tr> <td class="num">{$vol.id}</td> <td class="name">{$vol.name}</td> <td class="procress"> <if condition="$vol.pid == 0"> 顶级部门 <else/> 二级部门 </if> </td> <td class="node">{$vol.sort}</td> <td class="time">{$vol.remark}</td> <td><a href="javascript:;">编辑</a></td> <td><a href="javascript:;">删除</a></td> </tr> </volist></table>
注意:1. 模板的if判断,必须加空格
<if condition="$vol.pid == 0">顶级部门</if><br/>
2.<else />加/
【二】部门编辑
分析:
控制器:DeptController.class.php
方法:edit(展示模板】处理提交)
模板:edit.html
下面按步骤编写代码
(1)编写edit方法,实现模板展示
public function edit(){ //展示模板 $this->display(); }
(2)修改编辑按钮,跳页时带上id
<td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
(3)复制模板文件edit.html到指定位置,Admin/View/Dept/edit.html
;修改静态资源路径
(4)修改edit方法,展示原来数据
id:<input type="text" name="id" readonly="readonly" value="{$data.id}"><br/>部门:<input type="text" name="name" value="{$data.name}"><br/>所属部门:<select> <option value="0">顶级部门</option> <volist name="info" id="vol"> <option value="{$vol.id}">{$vol.name}</option> </volist></select><br/>排序:<input type="text" name="sort" value="{$data.sort}"><br/>备注:<input type="text" name="id" value="{$data.remark}"><br/>
(5)处理表单提交页面
隐藏域:因为系统限制不能执行批量修改,所以修改时必须指定主键。所以必须添加一个隐藏域,来传递id
<form action="" method="post"> id:<input type="hidden" name="id" value="{$data.id}"><br/> <!-- 或者$Think.get.id --> 部门:<input type="text" name="name" value="{$data.name}"><br/> 所属部门: <select name="pid"> <option value="0">顶级部门</option> <volist name="info" id="vol"> <option value="{$vol.id}">{$vol.name}</option> </volist> </select><br/> 排序:<input type="text" name="sort" value="{$data.sort}"><br/> 备注:<input type="text" name="remark" value="{$data.remark}"><br/> <button>提交</button></form>
jquery提交:
<script type="text/javascript"> $(document).ready(function(){ $('button').on('click',function(){ $('form').submit();//提交表单 }) })</script>
(6)数据的保存,修改edit方法后的代码
public function edit(){//展示模板或者post请求 if (IS_POST){ $post = I('post.'); // dump($post);die; $model = M('dept'); //保存操作 $result = $model->save($post); if ($result !== false) { $this->success('修改成功',U('showList'),3); }else{ $this->error('修改失败'); } }else{ //接收id $id=I('get.id'); //实例化模型 $model = M('dept'); //查询指定记录 $data = $model->find($id); // 查询全部的部门信息(不包含当前级),同于下拉。因为包含自己所在级别会在递归时陷入死循环? $info = $model->where('id != '.$id)->select(); //变量分配 $this->assign('data',$data); $this->assign('info',$info); //展示模板 $this->display(); } }
【三】部门删除
分析
控制器:DeptController.class.php
方法:del
模板:删除不需要模板文件,因为删除就是个处理数据过程。和登出一样
说明:有单个删除,也有批量删除。而编辑只能单个编辑,不能批量编辑。
(1)修改模板,添加复选框
id | 部门 | 所属部门 | 排序 | 备注 | 编辑数据 | 删除 |
{$vol.id} | {$vol.name} |
|
{$vol.sort} | {$vol.remark} | <td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
(2)点击删除按钮,实现删除
①点击删除,获取复选框的值(jquery实现)。之后到php删除方法
<script type="text/javascript"> $(document).ready(function(){ $('.del').on('click',function(){ var id = ''; $.each($('input:checkbox:checked'),function(){ id += $(this).val()+','; }); // 去掉最后的,通过截取字符串获取 id = id.substring(0,id.length-1); //带着参数跳转到del方法 window.location.href = '__CONTROLLER__/del/id/'+id;//删除方法和展示方法的控制器是同级,所以用模板常量__CONTROLLER__ }) })</script>
②编写del方法,实现删除
//真删除---批量和单个删除
public function del(){ //接收参数 $id = I('get.id'); //模型实例化 $model = M('dept'); //删除 $result = $model->delete($id); //判断结果,删除成功或失败都会跳转到列表页,所以不用加入跳转链接 if ($result) { $this->success('删除成功'); }else{ $this->error('删除失败'); } }
以上就是ThinkPHP部门管理功能的全部内容。
相关参考:thinkphp教程
Atas ialah kandungan terperinci 部门管理功能的实现. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.

"Cadangan Pembangunan: Cara Menggunakan Rangka Kerja ThinkPHP untuk Melaksanakan Tugas Asynchronous" Dengan perkembangan pesat teknologi Internet, aplikasi Web mempunyai keperluan yang semakin tinggi untuk mengendalikan sejumlah besar permintaan serentak dan logik perniagaan yang kompleks. Untuk meningkatkan prestasi sistem dan pengalaman pengguna, pembangun sering mempertimbangkan untuk menggunakan tugas tak segerak untuk melaksanakan beberapa operasi yang memakan masa, seperti menghantar e-mel, memproses muat naik fail, menjana laporan, dsb. Dalam bidang PHP, rangka kerja ThinkPHP, sebagai rangka kerja pembangunan yang popular, menyediakan beberapa cara mudah untuk melaksanakan tugas tak segerak.

ThinkPHP ialah rangka kerja PHP berprestasi tinggi dengan kelebihan seperti mekanisme caching, pengoptimuman kod, pemprosesan selari dan pengoptimuman pangkalan data. Ujian prestasi rasmi menunjukkan bahawa ia boleh mengendalikan lebih daripada 10,000 permintaan sesaat, dan digunakan secara meluas dalam tapak web dan sistem perusahaan berskala besar seperti JD.com dan Ctrip dalam aplikasi praktikal.

Pembangunan sistem pengurusan bahagian belakang ThinkPHP6: Melaksanakan fungsi bahagian belakang Pengenalan: Dengan pembangunan berterusan teknologi Internet dan permintaan pasaran, semakin banyak perusahaan dan organisasi memerlukan sistem pengurusan bahagian belakang yang cekap, selamat dan fleksibel untuk mengurus data perniagaan dan menjalankan pengurusan operasi. Artikel ini akan menggunakan rangka kerja ThinkPHP6 untuk menunjukkan melalui contoh cara membangunkan sistem pengurusan bahagian belakang yang mudah tetapi praktikal, termasuk fungsi asas seperti kawalan kebenaran, penambahan data, pemadaman, pengubahsuaian dan pertanyaan. Persediaan persekitaran Sebelum bermula, kita perlu memasang PHP, MySQL, Com
