thinkPHP框架 简单的删除和修改数据的做法 和 模板继承的意思大概做法

 

 BiaodanController.class.php控制器页面
复制代码
<?php
namespace Admin\Controller;
use think\Controller;
class BiaodanController extends Controller{

    public function zhuyemian(){
        $n = D("nation");
        
        $attr = $n->select();
        $this->assign("n",$attr);
        $this->show();
    }
    public function xiugai($code=""){//from表单里__ACTION__方法需要一个默认值将$code=""默认为空就以防出错了!!
        //xiugai方法需要实现两个方法
        //1.显示页面
        //2.执行修改
        $n = D("Nation");
        if(empty($_POST)){
            
            $nation = $n->find($code);//find()方法,根据主键找一条,找到的是一维数组
            $this->assign("nation",$nation);
            $this->show();
        }else{
            //2.修改
            $n->create();//$n是模型对象create();方法是自动收集表单,此方法会将数据库里没有列名的信息忽略掉!比如注册时的确认密码
            $r = $n->save();//save();方法是修改
            if($r){
                $this->success("修改成功","zhuyemian");
            }else{
                $this->error("修改失败!!");
            }
            //注:两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。
        }
    }
    
    public function shanchu($code){
        
        $n = D("nation");
        $r = $n->delete($code);//delete()方法执行删除指定数据
        if($r){
            $url = U("zhuyemian");//用U快捷方法用来造出一个路径来
            $this->success("删除成功",$url);
        }else{
            $this->error("删除失败!!");
        }
    }
    
    public function fu(){
        $this->show();
    }
    
    public function zi(){
        $this->show();    
    }
}
复制代码

 

zhuyemain.html   显示数据主页面

 

复制代码
<html>
    <head>
        <meta content="text/html; charset=utf-8" />
    </head>
    <body>
        <table width="100%" border="1" cellpadding="0" cellspacing="0">
            <tr>
                <td>代号:</td>
                <td>名称:</td>
                <td>操作:</td>
            </tr>
            
            <!--n代表是一个数组  v代表一个变量-->
            <foreach name="n" item="v" >            
                <tr>
                <td>{$v.code}</td>
                <td>{$v.name}</td>
                <td><a href="__CONTROLLER__/xiugai/code/{$v.code}">修改
                </a>
                <a href="__CONTROLLER__/shanchu/code/{$v.code}" onClick="return confirm('确定要删除吗?')">删除
                </a>
                </td>
            </tr>
            </foreach>
        </table>
    </body>
    
</html>
<!--注:所有的路径不要写死!!用__CONTROLLER__方法能够获取到该控制器的路径/控制器里的方法/将主键值传过去/{$v.code}-->
复制代码

 

xiugai 显示页面

 

复制代码
<html>
    <head>
        <meta content="text/html; charset=utf-8" />
    </head>
    <body>
        <form action="__ACTION__" method="post">
            <input type="hidden" name="Code" value="{$nation.code}" /><!--代号code隐藏-->
            <div>名称: <input type="text"  name="Name" value="{$nation.name}"/></div>
            <input type="submit" value="修改" />
        </form>
    </body>
    
</html>
<!--__ACTION__指向当前页面-->
复制代码

 

 

 

 <!--********************************分割线*******************************************************************--> 

 

使用模板继承

就和phpcms模板的footer.html    header.html   index.html这三个页面效果以及意思都一样

做一个父类页面

复制代码
<html>
    <head>
        <meta content="text/html; charset=utf-8" />
        <block name="tou"></block>
    </head>
    <body>
        <div style="width:100%; height:200px; background-color:#0F6;"></div>//这里代表导航栏
        
        <block name="neirong"></block>//这里是一些自己想显示的内容
        
        <div style=" width:100%; height:100px; background-color:#F00;"></div>//这里代表尾部
    </body>
    
</html>
复制代码

 

再做一个要继承父类的   子页面

 <extend name="fu" />

<!--这句代码的意思是:name="fu"引用父类里面设置的头和尾 或可以在里面设置一些其他内容!!-->

<block name="tou">

<title>测试子模板</title>

<!--这里面就可以引用一些css样式 js样式表-->

</block>

<block name="neirong">

<div style="width:100%; height:300px; background-color:#C3F;"></div>

</block> 

 

 

效果

 

 

 

posted @   遇事稳坐钓鱼台  阅读(1198)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示