Thinkphp 全选、反选 批量删除

完整案例

前台

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>我的钱包</title>
    <link href="__PUBLIC__/HomeStyle/css/layout_903ac4c.css" rel="stylesheet" type="text/css" />
    <link href="__PUBLIC__/HomeStyle/css/widgets_680817d.css" rel="stylesheet" type="text/css" />
    <link href="__PUBLIC__/HomeStyle/css/main.html_aio_7fcf01c.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
        /*.row-fluid{*/
            /*border-top: 1px solid #DDD;*/
            /*padding: 12px 0 6px;*/
            /*background-color: #eff3f8;*/
            /*border-bottom: 1px solid #DDD;*/
            /*width: 100%;*/
        /*}*/
        .page {
            display: inline-block;
            margin: 20px 0;
            text-align: center;
        }
        .page a {
            background-color: #fafafa;
            border: 1px solid #e0e8eb;
            color: #2283c5;
            margin: 0 2.5px;
            padding: 6px 12px;
            position: relative;
            text-decoration: none;
        }
        .bullet .top button  {
            height: 25px;
            color: #fff;
            background-color: #00b38a;
            padding: 0px 10px;
            display: inline-block;
            vertical-align: middle;
            line-height: 25px;
            margin-right: 5px;
        }
    </style>
 
 
 
</head>
<body>
 
<!--首页 用户 公司 标题栏-->
<include file="Public/header" nav="recharge" />
        <!--end #header-->
 
    <input type="hidden" id="serverTime" value="1494292351403"/>
 
    <!-- 页面主体START -->
    <div class="container clearfix" id="container">
 
        <!--左侧菜单栏-->
        <div class="user_bindSidebar">
            <dl class="user_sideBarmenu">
                <dt class="title">帐号设置 </dt>
                <dd>
                    <a   href="{:U('Home/Company/bind_account')}">帐号绑定</a>
                </dd>
                <dd>
                    <a href="{:U('Home/Company/updatePwd')}">修改密码</a>
                </dd>
                <dd>
                    <a href="{:U('Home/Company/index')}">公司资料</a>
                </dd>
 
                <dt class="title">招聘管理</dt>
                <dd>
                    <a href="{:U('Home/Recruit/Recruitment_manage')}">我的招聘</a>
                </dd>
                <dd>
                    <a  href="{:U('Home/Wallet/apply_invoice')}">申请发票</a>
                </dd>
                <dd>
                    <a  class="hover"  href="{:U('Home/Wallet/recharge')}">我的钱包</a>
                </dd>
 
            </dl>
 
        </div>
<input type="hidden" value="1" id="hasSidebar"/>
 
<div class="user_userinfo_content">
    <dl class="c_section">
        <dt><h1>充值记录</h1></dt>
 <dd class="recharge">
     <!--用户基本信息栏-->
     <include file="Public/company_header_user" nav=""/>
                </dd>
        <dd class="bullet_out">
        <div class="top-up">
            <ul class="reset">
                <li class="current">
                    <a href="/Wallet/recharge">充值记录</a>
                </li>
                <li>
                    <a href="/Wallet/consume">消费记录</a>
                </li>
            </ul>
            <div class="bullet">
                <form action="{:U('Home/Wallet/recharge')}" method="get">
                    <div class="top">
                        <span>充值单号</span>
                        <input type="text" maxlength="15"  name="OrderNumber" value="{$map.OrderNumber}"  />
                        <span>支付类型</span>
                        <select style="height: 25px; color: #999; font-size: 12px; background-color: #fafafa;-->
                        border: 1px solid #d4d2d2; vertical-align: middle; line-height: 25px;" name="mr_paytype" id="paytypesel" >
                            <option value="0">全部</option>
                            <option value="1">微信</option>
                            <option value="2">支付宝</option>
                        </select>
                        <span>订单状态</span>
                        <select style="height: 25px; color: #999; font-size: 12px; background-color: #fafafa;-->
                        border: 1px solid #d4d2d2; vertical-align: middle; line-height: 25px;" name="mr_ordertype" id="ordertypesel">
                            <option value="0">全部</option>
                            <option value="1">等待付款</option>
                            <option value="2">已付款</option>
                        </select>
                        <input type="submit" id="search_submit" style="float: right;" value="搜索"/>
                    </div>
                </form>
                    <table class="conent" cellpadding="0" cellspacing="0" style=" border-color:#d4d2d2">
                    <thead>
                    <tr class="conent_F">
                        <!--<th><input type="checkbox" style=" width:20px; height:20px;" /></th>-->
                        <th>编号</th>
                        <th>用户名</th>
                        <th>充值单号</th>
                        <th>支付类型</th>
                        <!--<th>订单类型</th>-->
                        <th>订单金额</th>
                        <th>时间</th>
                        <th>状态</th>
                        <!--<th>操作</th>-->
                    </tr>
                    </thead>
                        <tbody>
                        <foreach name="data" item="value">
                            <tr class="conent_W">
                                <!--<td><input name="check_me[]" type="checkbox"  value="{$value.Id}" style=" width:20px; height:20px;" /></td>-->
                                <td>{$value.Id}</td>
                                <td>{$value.username}</td>
                                <td>{$value.OrderNumber}</td>
                                <td><eq name="value.Paytype" value="1">微信<else/><eq name="value.Paytype" value="2">支付宝<else/> </eq></eq></td>
                                <!--<td>{$value.Ordertype}</td>-->
                                <td>{$value.Money}</td>
                                <td>{$value.CreateTime|date='Y.m.d',###}</td>
                                <td class="Wait"><eq name="value.Status" value="1"><i class="red">等待付款</i><else/><eq name="value.Status" value="2">已付款<else/><i style="color:#EAC100">已取消</i></eq> </eq> </td>
                                <!--<td> <a class="Look" href="">查看</a><a class="Fail" href="javascript:;" onclick="$.del('{:U('/Home/Wallet/del', array('Id'=>$value['Id']))}');">删除</a></td>-->
                                <!--<td><a class="Fail" href="javascript:;" onclick="$.del({$value.Id})">删除</a></td>-->
 
                            </tr>
                        </foreach>
                        </tbody>
 
                    </table>
 
                <!--<div class="bottom"><input id="checkbox_all" type="checkbox" style=" width:20px; height:20px; vertical-align: middle; margin-top: -4px;" /><span>全选</span>  <a href="" onclick="deleteCheckBox();">删除所选项</a> </div>-->
 
            </div>
        </div>
            <!--分页-->
            <div class="row-fluid">
                <div class="page">{$page}</div>
            </div>
 
            <script src="__PUBLIC__/HomeStyle/js/jquery.1.10.1.min.js"></script>
            <link rel="stylesheet" href="__PUBLIC__/Assets/css/lagou.global.css">
            <script src="__PUBLIC__/Assets/lagou/lagou.element.js"></script>
            <script src="__PUBLIC__/Assets/lagou/lagou.global.js"></script>
            <script type="text/javascript"><br><br>
            //批量删除选中行
            //在给每一个 type=checkbox 加相同的名字 check_me[]
//            function deleteCheckBox() {
//                //提示是否删除
//                if(confirm("确定要删除吗?")){
//                    //将所有复选框的默认值放入数组中
//                    var check=document.getElementsByName('check_me[]');
//                    var checkArray=new Array();
//                    //将所有选中的复选框的默认值写入到数组中
//                    for(var i=0;i<check.length;i++){
//                        if(check[i].checked){
//                            checkArray.push(check[i].value);
//                        }
//                    }
//                    //异步传值到后台
//                    $.ajax({
//                        url:"/Home/Wallet/batchDel" ,
//                        type:"get",
//                        dataType:'json',
//                        data:{"checkArray":checkArray},
//                        success:function (data) {
//
//                            //成功执行的方法
//                            if(data.msg=="删除成功!"){
//                                location.reload();
//                            }else{
//                                alert(data.msg);
//                            }
//                        }
//                    });
//
//                }
//            }
 
                jQuery(function($){
 
//                    //上面  全选和全不选的切换
//                    var check2=true;
//                    $(' table th input:checkbox').on('click',function () {
//                        $(".bullet :checkbox").prop("checked", check2);
//                        check2=!check2;
//                    });
//                  //下面 全选和全不选的切换
//                    var check=true;
//                    $("#checkbox_all").click(function () {
//                      $(".bullet :checkbox").prop("checked", check);
//                            check=!check;
//                    });<br><br>
 
                    $.extend({
                        action:function(url,obj)
                        {
                            var obj=$(obj).parents('form');
                            $.ajax({
                                url:url,
                                type:'get',
                                data:obj.serialize(),
                                success:function(res)
                                {
                                  //  alert(response.msg);
                                    $.lagou.alert(response.msg,response.code,2);
                                    $.lagou.formHide();
                                    location.reload();
 
                                }
 
                            });
                        },
 
//                        del:function (Id) {
//                            if(confirm("确定要删除吗?")){
//                                jQuery.ajax({
//                                    url:"/Home/Wallet/del",
//                                    type:"get",
//                                    data:{"Id":Id},
//                                    success:function (msg) {
//                                        alert(msg.msg);
//                                    location.reload();
//                                    }
//                                })
//                            }
//                        }
 
 
                    })
                })
            </script>
        </dd>
    </dl>
</div>
    </div>
 
<include file="Public/footer" nav='index'/>
 
 
</body>
</html><br><br><br>// 这就是全选按钮 方法二<br>//$('table th input:checkbox').on('click' , function(){<br>//   var that = this;<br>//   $(this).closest('table').find('tr > td:first-child input:checkbox')<br>//   .each(function(){<br>//     this.checked = that.checked;<br> //     $(this).closest('tr').toggleClass('selected');<br>//   });    <br>//});

  

后台

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
<?php
/** 钱包:充值和消费
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/6/8
 * Time: 9:26
 */
namespace Home\Controller;
class WalletController extends CompanyBaseController {
 
    //定义数据表变量
    protected  $recharge=null;
    protected $consume=null;
 
    public function __construct()
    {
        parent::__construct();
        $this->recharge=M('Recharge');
        $this->consume=M('Consume');
    }
    //钱包查询
    public function recharge()
    {
        if (!session('?user.id')) {
            $this->redirect('User/login');
        } else {
            $name = $_SESSION['user']['username'];
            $user = M("Users");
            $usermodel = $user->where("username=" . $name)->find();
 
            $this->assign("user", $usermodel);
 
        }
        //获取页面所有查询条件
//        $map=I();
//        $a=array_filter($map);
        $a=I();
       //订单搜索
        //var_dump($a);
        if(!empty($a['OrderNumber']))
        {
            $where['OrderNumber']=array('LIKE','%'.$a['OrderNumber'].'%');
        }
        //支付类型
        if ($a['mr_paytype'] != 0) {
            $where['Paytype']=array('EQ',$a['mr_paytype']);
           // $where = $where . " and paytype =" . $a['mr_paytype'];
        }
        //订单状态
        if ($a['mr_ordertype'] != 0) {
            $where['Ordertype']=array('EQ',$a['mr_ordertype']);
           // $where = $where . " and status =" . $a['mr_ordertype'];
        }
        //获取用户id
        $uid = session("user.id");
        $where['UserId']=$uid;
       // $where['Delete']=1;
        //分页部分
        //获取总行数
        $total =$this->recharge->where($where)->count();
        //每10个一页
        $Page= new\Think\Page($total,5);
        $Page->setConfig('first','首页');
        $Page->setConfig('prev','上一页');
        $Page->setConfig('next','下一页');
        $Page->setConfig('last','尾页');
        $showPage=$Page->show();
 
        //查询 去掉了订单类型  r.Ordertype
        $data=$this->recharge->where($where)->page(I('get.p',1),5)->order('CreateTime desc')->join('as r left join lg_users as u on r.UserId=u.id')->field('r.Id,u.username,r.OrderNumber,r.Paytype,r.Money,r.CreateTime,r.Status,r.Usertype')->select();
        //返回上一次搜索条件
        $this->assign('map',$a);
        //返回分页栏
        $this->assign('page',$showPage);
        //列表
        $this->assign('data',$data);
        //展示页面
        $this->display();
    }
 
    public function del()
    {
        //调试方法
//        $this->ajaxReturn($_GET["Id"]);
//        return;
 
        if(IS_AJAX){
            $id=$_GET["Id"];
           // $id2=$_REQUEST["Id"];
            //异步请求不能使用var_dump()
            //1正常;2已删除;
            //失败,直接用save是跟新整条,必须每个字段多包括。
//            $data['Id']=$id;
//            $data['Delete']=2;
//            $rs=$this->recharge->save($data['Delete']);
 
            // 成功,更新某个字段。
//            $delete='2';
//            $rs=$this->recharge->where('Id='.$id)->setField('Delete','$delete');
            //成功
            $data['Delete']=2;
            $rs=$this->recharge->where('id='.$id)->field('Delete')->filter('strip_tags')->save($data);
            //当使用field('email')的时候,只允许更新email字段的值(采用strip_tags方法过滤),name字段的值将不会被修改。
            //filter(strip_tags) 调用strip_tags过滤方法
            if($rs===false){
                $msg['code']=0;
                $msg['msg']='删除失败!';
            }else{
                $msg['code']=1;
                $msg['msg']='删除成功!';
            }
            $this->ajaxReturn($msg);
        }
 
    }
 
    //批量删除
    public function batchDel()
    {
        //调试方法一
//        $this->ajaxReturn($_GET["checkArray"]);
//        return;
        //调试方法二
//        $data=I('get.');
//        $this->ajaxReturn($data['checkArray']);
 //       return;
 
        if(IS_AJAX){
            $data=$_GET["checkArray"];
            if(!empty($data)){
                //批量删除方法一
//                foreach ($data as $v){
//                    //删除的条件
//                    $condition['Id']=$v;
//                    $d['Delete']=2;
//                    //删除数据:假删除
//                    $result=$this->recharge->where($condition)->field('Delete')->filter('strip_tags')->save($d);
//                }
 
                //批量删除方法二
                //判断id是数组还是一个数值
                if(is_array($data)){
                    $condition = 'id in('.implode(',',$data).')';
                }else{
                    $condition = 'id='.$data;
                }
                $d['Delete']=2;
                $result=$this->recharge->where($condition)->field('Delete')->filter('strip_tags')->save($d);
                //判断是否成功
                if($result===false){
                    $msg['code']=0;
                    $msg['msg']='删除失败!';
                }else{
                    $msg['code']=1;
                    $msg['msg']='删除成功!';
                }
            }
           $this->ajaxReturn($msg);
 
        }
    }
 
    //消费记录
    public function consume(){
        if (!session('?user.id')) {
            $this->redirect('User/login');
        } else {
            $name = $_SESSION['user']['username'];
            $user = M("Users");
            $usermodel = $user->where("username=" . $name)->find();
 
            $this->assign("user", $usermodel);
 
        }
 
 
        //获取用户id
        $uid = session("user.id");
        $where['userid']=$uid;
        $where['usertype']=2;//企业类型为2
        //获取总行数
        $total =$this->consume->where($where)->count();
        //分页
        $Page= new\Think\Page($total,10);
        $Page->setConfig('first','首页');
        $Page->setConfig('prev','上一页');
        $Page->setConfig('next','下一页');
        $Page->setConfig('last','尾页');
        $showPage=$Page->show();
        //查询
        $data=$this->consume->where($where)->page(I('get.p',1),10)->order('createtime desc')->join('as r left join lg_users as u on r.userid=u.id')->field('r.id,u.username,r.paynumber,r.money,r.createtime,r.usertype')->select();
        //返回分页栏
        $this->assign('page',$showPage);
        //列表
        $this->assign('data',$data);
        //展示页面
        $this->display();
 
    }
 
    //消费记录
    public function consume_details(){
        //接收记录id
        $id= $_GET['id'];
        //获取失败
//        $username= $_GET['username'];
//        var_dump($username);
        //获取用户id
        $uid = session("user.id");
        $username2=session("user.username");
        $where['userid']=$uid;
        $where['id']=$id;
        $where['usertype']=2;//企业类型为2
        //查询
        $data=$this->consume->where($where)->select();
       // $data=$this->consume->where($where)->join('as r left join lg_users as u on r.userid=u.id')->field('r.id,u.username,r.paynumber,r.money,r.createtime,r.usertype')->select();
        $data[0]['username']=$username2;
        // var_dump($data[0]);
        //列表
        $this->assign('value',$data[0]);
 
        //展示页面
        $this->display();
 
    }
 
    //支付页面
    public function pay(){
        if (!session('?user.id')) {
            $this->redirect('User/login');
        } else {
            $name = $_SESSION['user']['username'];
            $user = M("Users");
            $usermodel = $user->where("username=" . $name)->find();
 
            $this->assign("user", $usermodel);
            $this->display();
        }
 
    }
 
    //申请发票
    public function  apply_invoice(){
        if (!session('?user.id')) {
            $this->redirect('User/login');
        } else {
            $name = $_SESSION['user']['username'];
            $user = M("Users");
            $usermodel = $user->where("username=" . $name)->find();
 
            $this->assign("user", $usermodel);
            $this->display();
        }
 
    }
 
    public function  apply_invoice_do(){
        if(IS_AJAX){
        //调试方法一
//        $this->ajaxReturn($_POST["content"]);
//        return;
            $data['content']= $_POST["content"];
            $data['user_id'] = session('user.id');
            $data['create_time']=time();
            $Invoice = M("Invoice");
            $result=$Invoice->data($data)->add();
             //var_dump($result); 异步使用会中断
            if ($result>0){
                $msg="ok";
            }else{
                $msg="提交失败";
            }
            $this->ajaxReturn($msg);
        }
 
    }
 
}
?>

  

posted @   hao_1234_1234  阅读(537)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示