HTML-小白 2023-03-27 14:32 采纳率: 69.2%
浏览 43
已结题

ThinkPHP 数据库的操作 控制器怎么写

怎么修改指定用户的余额

img

img


前端代码:

  1. <div class="layui-card">
  2. <div class="layui-card-header">
  3. 下级用户
  4. </div>
  5. <form class="layui-form" id="user_money">
  6. <div class="layui-card-body layui-text">
  7. <table class="layui-table">
  8. <thead>
  9. <tr>
  10. <th>用户id</th>
  11. <th>用户名</th>
  12. <th>余额</th>
  13. <th>注册时间</th>
  14. <th>多域名权限</th>
  15. <th>操作</th>
  16. </thead>
  17. <tbody>
  18. {volist name="userlist" id="v"}
  19. <tr>
  20. <td>{$v.id}</td>
  21. <td>{$v.email}</td>
  22. <td>{$v.money}</td>
  23. <td>{$v.create_time|date="Y-m-d h:s"}</td>
  24. <td class="td-manage">
  25. <span href="javascript:;" title="到期时间:{$v.many_lstime|date="Y-m-d"}">
  26. {$v.many==0 ? '未开通':'已开通'}
  27. </span>
  28. </td>
  29. <td class="td-manage">
  30. <input type="text" name="money" lay-verify="required" placeholder="{$v.money}" autocomplete="off" class="layui-input" style="display: inline;width: 20%;">
  31. <button class="ml_btn" lay-filter="user_money">修改</button>
  32. </td>
  33. </tr>
  34. {/volist}
  35. </tbody>
  36. </table>
  37. <div class="page">
  38. <a href="{:url('daili/index/user_list')}" class="layui-laypage-next" data-page="2">更多»</a>
  39. </div>
  40. </div>
  41. </form>
  42. </div>

这是控制器,一直没效果。不知道哪里出了问题

  1. //修改会员余额
  2. public function user_money()
  3. {
  4. $user_id = input('post.user_id'); //获取待修改的用户ID
  5. $money = input('post.money'); //获取要修改的金额
  6. $result = openus::where('id', $user_id)->setField('money', $money);
  7. if ($result !== false) {
  8. return json(['code' => 1, 'msg' => '修改成功']);
  9. } else {
  10. return json(['code' => -1, 'msg' => '修改失败']);
  11. }
  12. }

展开全部

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2023-03-27 14:50
    关注

    修改按钮事件怎么处理的,没见相关方法,要提交数据请求控制器发送数据来修改

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    HTML-小白 2023-03-27 14:53

     
    //监听提交-修改用户余额
            form.on('submit(user_money)', function(data){
              
              //发异步,把数据提交给php
              var form = $("#user_money").serialize();
              $.ajax({
                  url:'{:url("daili/index/user_money")}',
                  type:'post',
                  data:form,
                  dataType:'json',
                  success:function(data){
                      
                      if(data.code == 1){
                          layer.alert(data.msg, {icon: 6},function () {
                              //刷新当前页面
                            location.reload();
                          });
                          return false;
                      }else{
                          layer.msg(data.msg,{icon:5,time:2000});
                      }
                  }
              });
              return false;
            });    
    
    

    回复
    CSDN专家-showbo 回复 HTML-小白 2023-03-27 15:08

    var form = $("#user_money").serialize();这句是序列化表单数据,表单中没有user_id和money输入项,就算有是多个的用户的,会一起提交了,改下面这样监听修改事件

    
        //监听修改按钮
        $(document).on('click', 'button[lay-filter="user_money"]', function () {
            var el = $(this);
            var tr = el.closest('tr');
            var user_id = tr.find('td:first').text();//得到id
            var money = el.prev().val();//得到输入的余额
            $.ajax({
                url: '{:url("daili/index/user_money")}',
                type: 'post',
                data: { user_id, money },//不太清楚ThinkPHP $user_id = input('post.user_id')这里是不是获取post请求中的user_id值还是直接键名称就是post.user_id,如果键名称是post.user_id用下面的data节点
                //data: {'post.user_id': user_id, 'post.money':money },
                dataType: 'json',
                success: function (data) {
    
                    if (data.code == 1) {
                        layer.alert(data.msg, { icon: 6 }, function () {
                            //刷新当前页面
                            location.reload();
                        });
                        return false;
                    } else {
                        layer.msg(data.msg, { icon: 5, time: 2000 });
                    }
                }
            });
            return false;
        })
    
    

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月27日
  • 已采纳回答 3月27日
  • 创建了问题 3月27日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部