[1] 부서 목록 표시
분석:
①控制器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 판단에 공백을 추가해야 합니다
注意:1. 模板的if判断,必须加空格
<if condition="$vol.pid == 0">顶级部门</if><br>
2.<else></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
<if>상위 부서</if><p></p>
2.<else></else>추가/
【이】Department Editor
Analytic:
Controller: DeptController.class.php
Method: 편집(표시 템플릿] 제출 처리 중)
Template: edit.html
id | 部门 | 所属部门 | 排序 | 备注 | 编辑数据 | 删除 |
{$vol.id} | {$vol.name} |
|
{$vol.sort} | {$vol.remark} | <td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
<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>(3) 템플릿 파일 edit.html을 다음으로 복사합니다. 지정된 위치,
Admin/View /Dept/edit.html
; 정적 리소스 경로 수정(4) 편집 방법 수정 및 원본 데이터 표시🎜public function del(){ //接收参数 $id = I('get.id'); //模型实例化 $model = M('dept'); //删除 $result = $model->delete($id); //判断结果,删除成功或失败都会跳转到列表页,所以不用加入跳转链接 if ($result) { $this->success('删除成功'); }else{ $this->error('删除失败'); } }🎜(5) 양식 제출 처리 page🎜🎜숨겨진 필드: 시스템 제한으로 인해 일괄 수정이 불가능하므로 수정 시 기본 키를 지정해야 합니다. 따라서 id🎜rrreee🎜jquery 제출을 전달하려면 숨겨진 필드를 추가해야 합니다:🎜rrreee🎜(6) 데이터 저장, 편집 방법 이후 코드 수정🎜rrreee🎜[3] 부서 삭제🎜🎜Analytic🎜🎜Controller: DeptController.class.php🎜🎜Method: del🎜🎜Template: 삭제는 데이터 처리 프로세스이므로 삭제에는 템플릿 파일이 필요하지 않습니다. 로그아웃과 동일🎜🎜주의사항: 개별삭제와 일괄삭제가 있습니다. 편집은 개별적으로만 가능하며 일괄적으로는 불가능합니다. 🎜🎜 (1) 템플릿 수정 및 체크박스 추가 🎜rrreee🎜 (2) 삭제 버튼 클릭 시 삭제 완료 🎜🎜 ①삭제 클릭 시 체크박스 값 가져오기(jquery 구현). 그런 다음 PHP 삭제 방법으로 이동 🎜rrreee🎜 ② 삭제를 수행하는 del 방법 작성 🎜🎜 사용 using using ‐ out off 님의 ' s ‐ ‐‐ ‐‐‐‐‐‐ 삭제 예정 🎜 🎜🎜관련 참조: 🎜🎜thinkphp 튜토리얼🎜🎜🎜
위 내용은 부서관리 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 ThinkPhp의 내장 테스트 프레임 워크에 대해 논의하여 장치 및 통합 테스트와 같은 주요 기능과 조기 버그 감지 및 개선 된 코드 품질을 통해 응용 프로그램 신뢰성을 향상시키는 방법을 강조합니다.

기사는 실시간 주식 시장 데이터 피드에 ThinkPHP를 사용하여 설정, 데이터 정확도, 최적화 및 보안 측정에 중점을 둡니다.

이 기사는 서버리스 아키텍처에서 ThinkPHP를 사용하기위한 주요 고려 사항에 대해 설명하고 성능 최적화, 무국적 설계 및 보안에 중점을 둡니다. 비용 효율성 및 확장 성과 같은 혜택을 강조하고 도전 과제를 해결합니다.

이 기사에서는 ThinkPHP 마이크로 서비스에서 서비스 검색 및로드 밸런싱 구현, 설정, 모범 사례, 통합 방법 및 권장 도구에 중점을 둡니다. [159 문자]

ThinkPhp의 IOC 컨테이너는 PHP apps.character 수 : 159의 효율적인 종속성 관리를위한 게으른 하중, 맥락 바인딩 및 메소드 주입과 같은 고급 기능을 제공합니다.

이 기사는 ThinkPhp를 사용하여 실시간 협업 도구를 구축하고 설정, WebSocket 통합 및 보안 모범 사례에 중점을 둡니다.

ThinkPhp는 가벼운 디자인, MVC 아키텍처 및 확장 성을 통해 SaaS 앱에 혜택을줍니다. 다양한 기능을 통해 확장 성을 향상시키고 개발 속도를 높이며 보안을 향상시킵니다.

이 기사는 설치, 구성, 작업 관리 및 확장성에 중점을 둔 ThinkPhp 및 RabbitMQ를 사용하여 분산 작업 큐 시스템을 구축합니다. 주요 문제는 고 가용성 보장, 손상과 같은 일반적인 함정을 피하는 것입니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

드림위버 CS6
시각적 웹 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구
