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>
效果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?