thinkphp框架实现删除和批量删除
作者:橙色时光 发布时间:2024-06-07 15:29:22
标签:thinkphp,删除
本文实例讲一下如何用thinkphp实现数据的删除和批量删除吧。
预期效果图:
原谅博主对照片的处理是如此的草率吧。。。
仍然是 通过MVC模式进行拆分:
首先是视图部分:
<form action="__MODULE__/Admin/User/del" method="get">
<tr>
<th width="4%"><input type="checkbox" name="checkbox10" id="checkbox10"></th>
<th width="13%">用户名</th>
<th width="10%">真实姓名</th>
<th width="13%">手机号</th>
<th width="21%">邮箱</th>
<th width="11%">注册时间</th>
<th width="17%">操作</th>
</tr>
<volist name = 'adminUsers' id = 'vo'>
<tr>
<td><input type="checkbox" name="id[]" id="checkbox" value="{$vo.id}">
<td>{$vo.username}</td>
<td>{$vo.realname}</td>
<td>{$vo.telphone}</td>
<td>{$vo.email}</td>
<td>{$vo.resgistertime}</td>
<td><a href="__MODULE__/Admin/User/modi/id/{$vo.id}">修改</a><a href="#"></a> <a href="__MODULE__/Admin/User/del/id/{$vo.id}">删除</a></td>
</tr>
</volist>
</table>
</div>
<div class="input-group pull-left form">
<button type="submit" class="btn btn-danger ">删 除</button>
</div>
</form>
仍然是采用表单传值的方法,不过这次不需要验证,因为是对数据的直接处理而非让用户输入数据,所以不必担心数据的不合法性省略了model部分。这里采用的一种比较巧妙地一种方法是将name定义为了一个数组,而在控制器中则只需要对传入的id判断一下是不是数组,省去了分开写的麻烦。
接下来是控制器的部分
public function del(){
// $name = getActionName(); //作为公共的函数使用时添加
$adminUsersModel = D("adminUsers"); //获取当期模块的操作对象
$id = $_GET['id']; //判断id是数组还是一个数值
if(is_array($id)){
$where = 'id in('.implode(',',$id).')';
}else{
$where = 'id='.$id;
} //dump($where);
$list=$adminUsersModel->where($where)->delete();
if($list!==false) {
$this->success("成功删除{$list}条!", U("Admin/User/lists"));
}else{
$this->error('删除失败!');
}
}
以上便是全部的是全部的实现过程了,不知道这种相对巧妙地方法小伙伴们GET到了吗?
原文作者:橙色时光
来源:http://www.cnblogs.com/sunshine-s/archive/2016/06/29/5626413.html


猜你喜欢
- 模版基本介绍模板是一个文本,用于分离文档的表现形式和内容。 模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签)。 模
- """This module contains code fromThink Python by Allen
- 本文旨在介绍 vue-router 的实现思路,并动手实现一个简化版的 vue-router 。我们先来看一下一般项目中对 vue-rout
- 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在
- 这篇论坛文章详细的讲解了使用SQL Server 2008管理非结构化数据的具体方法,更多内容请参考下文:microsoft SQL Ser
- 本文实例为大家分享了opencv实现车牌识别的具体代码,供大家参考,具体内容如下(1)提取车牌位置,将车牌从图中分割出来;(2)车牌字符的分
- what's the math 模块Python math 模块提供了许多对浮点数的数学运算函数。需要注意的是,这些函数一般是对平台
- 1.简介torch.autograd.Variable是Autograd的核心类,它封装了Tensor,并整合了反向传播的相关实现Varia
- 我们看一个现象:import pandas as pdtitanic = pd.read_csv('titanic_data.csv
- 最近好多伙伴说,我用vue做的项目本地是可以的,但部署到服务器遇到好多问题:资源找不到,直接访问index.html页面空白,刷新当前路由4
- 0.前言Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但是,它
- 如何远程读取数据库页面?见下:<%Set HttpObj = Server.CreateObject(&
- 手把手教你实现MYSQL的备份还原示例代码用我比较熟悉的PHP,当然你看完并理解了其中的思路,相信你也可以快速地用你熟悉的语言自己写出来。一
- 为了庆祝jQuery的四周岁生日, jQuery的团队荣幸的发布了jQuery Javascript库的最新主要版本! 这个版本包含了大量的
- 我们最近的项目中需要使用谷歌机器人验证,这个最主要的就是要有vpn,还需要有公司申请的google账号(自己申请的没用)用于商用的,利用这个
- mysql-5.7.23-winx64 解压版详细安装教程,供大家参考,具体内容如下1、Click here to download Mys
- 一、FFmpeg 多个音频合并的2种方法多个mp3文件合并成一个mp3文件一种方法是连接到一起ffmpeg64.exe -i "c
- 对所有数据进行整合与管理当你使用SQL Server 2008企业级的数据仓库平台时,你可以高效的操纵所有数据,并对其进行统一管理存储。◆合
- 注:MySQL5.7破解root密码,跳过密码认证登录到数据库,直接修改表中的密码即可,但是MySQL 8.0则不可以这样修改root密码,
- 栅格就是你对页面版式的规划你日常所见的许多页面都有栅格存在。你可能注意不到,但它确实存在,并且支撑着设计内容,建立整体的架构,引导着页面的元