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

Mise en place des fonctions de gestion du département

WJ
Libérer: 2020-06-10 09:39:20
avant
3497 Les gens l'ont consulté

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
Copier après la connexion

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();
        }
}
Copier après la connexion

②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();
        }
Copier après la connexion

⑤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>
Copier après la connexion

注意: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();
}
Copier après la connexion

(2) Bouton Modifier Modifier, apportez l'identifiant lorsque vous accédez à la page

<td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
Copier après la connexion

(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/>
Copier après la connexion

(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>
Copier après la connexion

soumission jquery :

<script type="text/javascript">
    $(document).ready(function(){
        $(&#39;button&#39;).on(&#39;click&#39;,function(){
            $(&#39;form&#39;).submit();//提交表单        })
    })</script>
Copier après la connexion

(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();            }        }
Copier après la connexion

[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}
Copier après la connexion

(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>
Copier après la connexion

②É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!

Étiquettes associées:
source:51dev.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal