[1] Affichage de la liste des départements
Analyse :
①控制器DeptController.class.php ②方法showList(不要使用list方法,因为list是关键词) ③模板文件:showList.html
Ce qui suit est écrit étape par étape
①Créez la méthode showList pour afficher le modèle
class DeptController extends Controller{ public function showList(){ $this->display(); } }
②Copiez le fichier modèle showList.html dans View/Dept (car le contrôleur est Dept et la méthode est showList, il doit donc y avoir une correspondance individuelle)
③Modifiez le chemin de la ressource statique
④Modifiez la méthode showList pour obtenir les données du département. Et transmis au modèle
public function showList(){ $model = M('dept');//模型实例化 $data = $model->order('sort asc')->select();//条件查询,升序排列 $this->assign('data',$data);//变量分配传递到模板 $this->display(); }
⑤Le modèle parcourt les données lues
<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 />加/
[2] Éditeur du département
Analyse :
Contrôleur : DeptController.class.php
Méthode : modifier (modèle d'affichage) traitement de la soumission)
Modèle : edit.html
Écrivez le code étape par étape
(1) Écrivez la méthode d'édition pour réaliser l'affichage du modèle
public function edit(){ //展示模板 $this->display(); }
(2) Bouton Modifier Modifier, apportez l'identifiant lorsque vous accédez à la page
<td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
(3) Copiez le fichier modèle edit.html à l'emplacement spécifié, Admin/View/Dept/edit.html
; modifiez le chemin de la ressource statique
( 4) Modifier la méthode d'édition, Afficher les données originales
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) Traiter la page de soumission du formulaire
Champ caché : En raison des limitations du système, la modification par lots ne peut pas être effectuée, donc la clé primaire doit être précisé lors de la modification. Il faut donc ajouter un champ masqué pour passer l'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>
soumission jquery :
<script type="text/javascript"> $(document).ready(function(){ $('button').on('click',function(){ $('form').submit();//提交表单 }) })</script>
(6) Sauvegarde des données, modification du code de la méthode d'édition
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(); } }
[3] Suppression de département
Analyse
Contrôleur :DeptController.class.php
Méthode : del
Modèle : La suppression ne nécessite pas de fichier modèle, car la suppression est un processus de traitement de données. Identique à la déconnexion
Remarque : Il existe des suppressions individuelles et des suppressions par lots. La modification ne peut être effectuée qu'individuellement et non par lots.
(1) Modifiez le modèle et ajoutez la case à cocher
id | 部门 | 所属部门 | 排序 | 备注 | 编辑数据 | 删除 |
{$vol.id} | {$vol.name} |
|
{$vol.sort} | {$vol.remark} | <td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
(2) Cliquez sur le bouton Supprimer pour supprimer
①Cliquez sur Supprimer pour obtenir la valeur de la case à cocher ( jquery accomplir). Accédez ensuite à la méthode de suppression 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>
②Écrivez la méthode del pour réaliser la suppression
//Suppression réelle --- suppression par lots et unique
Toutes les fonctions de gestion.
Références associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!