使用thinkPHP框架实现删除和批量删除一例【原创】
本文为作者原创,转载请注明原作者及转载地址。
上一篇讲了如何用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到了吗?
使用thinkPHP框架实现删除和批量删除一例【原创】的更多相关文章
- Thinkphp 全选、反选 批量删除
完整案例 前台 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- ajax 显示,删除,批量删除,修改反填功能实现
1.页面代码 <body> <h1>显示所有员工信息</h1> <input id="Button1" type="button ...
- bootstrapTable--4.删除和批量删除
http://blog.csdn.net/qq_26553781/article/details/78058389 ------------------------------------------ ...
- django实战(三)--删除和批量删除
上一节我们完成了带分页的模糊查询,本节我们继续删除操作. 同样的,先给出各个模块的代码(上一节的就不在贴出了):urls.py path('curd/delete/',views.curd_delet ...
- thinkphp框架3.2的cookie删除问题记录
在使用框架删除cookie时,发现cookie(null)不起作用.后来查看官网相关信息,看到了讨论http://www.thinkphp.cn/bug/2602.html
- oss文件上传删除(批量删除)处理
博主用的是阿里云的oss 首先先在阿里云下载安装sdk,相关的sdk下载请自行到阿里云下载 文档地址 https://help.aliyun.com/document_detail/85580.h ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- mteclipse中运行的分页,搜索,列表批量删除的界面,它的源代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- 5月21 汽车查询及批量删除----php方法
---恢复内容开始--- 这个与之前不同是在php中实现了页面的查询,引用AJAX实现批量删除及弹窗的显示 作业要求: 页面显示数据代码: <!DOCTYPE html PUBLIC " ...
随机推荐
- Android应用程序框架之无边界设计意图
Android的应用框架的外特性空间的描述在SDK文档有十分清楚的描述,Android应用的基本概念,组件生命周期等等有详细的描述.在外特性空间中,Android提供了Activity,Service ...
- phpstorm 和web storm汉化
http://www.jincaimao.com/cms-phpstorm-index.html phpStorm汉化方法: B1).找到X:\Program Files\JetBrains\PhpS ...
- VBA Excel 打印
1. 设置 页边距.打印区域 With .PageSetup .HeaderMargin = Application.CentimetersToPoints(0.5) .LeftMargin = Ap ...
- IDEA 编译错误:java: try-with-resources is not supported in -source 1.6 (use -source 7 or higher to enable try-with-resources)
错误描述 在用IDEA编译别人的项目的时候遇到下面的错误: java: try-with-resources is not supported in -source 1.6 (use -source ...
- Web Navigation
Description Standard web browsers contain features to move backward and forward among the pages rece ...
- DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements SingletonBeanRegistry
// 用于内部标记的空的单例对象(不支持null)protected static final Object NULL_OBJECT = new Object(); // 缓存单例对象根据beanNa ...
- Nodejs的mysql模块学习(一)
介绍 mysql npm包 是一个nodejs的模块,由JavaScript编写 安装 npm install mysql 建立连接 var mysql = require('mysql');//引用 ...
- JS 控制文本框只能输入中文、英文、数字与指定特殊符号
想做姓名输入的js判断是否是中文,但是网上找的很多是源于一篇文章的,判断中文的正则式不对,后来找到一个可以准确判断了,但是是监测里面有中文的就行,跟我想要的只能输入中文的意思相左,所以又找了下面的 J ...
- 以前写过的一些oracle语句
这下以后用起来就方便了.可算是找到了 Orcl 数据库服务 启动项: OracleDBConsoleorcl OracleOraDb10g_home1iSQL*Plus OracleOraDb10g_ ...
- linux -cp/mv
cp 复制 -r文件夹 -f强制没有提示 mv 移动改名 mv test.py temp/test2.py移动(后面只加路径就是移动.路径+文件名就是移动+改名) 执行mv一般会执行 mv -i交互 ...