Maison  >  Article  >  cadre php  >  Mise en place des fonctions de gestion du département

Mise en place des fonctions de gestion du département

WJ
WJavant
2020-06-09 17:02:223463parcourir

Mise en place des fonctions de gestion du département

[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=&#39;data&#39; id=&#39;vol&#39;>
        <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判断,必须加空格

26476d1a8228e2fc9cc9d0d60905eb38顶级部门0e19ae19f9bb3871b7693b46538542ae<br>

           2.9de3db33131318b3291f7cdc0a95a15a加/

 

[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(){
        $(&#39;button&#39;).on(&#39;click&#39;,function(){
            $(&#39;form&#39;).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(&#39;post.&#39;);                // dump($post);die;                $model = M(&#39;dept&#39;);                //保存操作                $result = $model->save($post);                if ($result !== false) {                    $this->success(&#39;修改成功&#39;,U(&#39;showList&#39;),3);                }else{                    $this->error(&#39;修改失败&#39;);                }            }else{                //接收id                $id=I(&#39;get.id&#39;);                //实例化模型                $model = M(&#39;dept&#39;);                //查询指定记录                $data = $model->find($id);                // 查询全部的部门信息(不包含当前级),同于下拉。因为包含自己所在级别会在递归时陷入死循环?                $info = $model->where(&#39;id != &#39;.$id)->select();                //变量分配                $this->assign(&#39;data&#39;,$data);                $this->assign(&#39;info&#39;,$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

>
        
            <td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
            
id部门 所属部门排序备注编辑数据删除
{$vol.id} {$vol.name} 顶级部门 二级部门 {$vol.sort} {$vol.remark}

(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(){
        $(&#39;.del&#39;).on(&#39;click&#39;,function(){
            var id = &#39;&#39;;
            $.each($(&#39;input:checkbox:checked&#39;),function(){
                id += $(this).val()+&#39;,&#39;;
            });            // 去掉最后的,通过截取字符串获取
            id = id.substring(0,id.length-1);            //带着参数跳转到del方法
            window.location.href = &#39;__CONTROLLER__/del/id/&#39;+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 :

tutoriel thinkphp

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer