代码之家  ›  专栏  ›  技术社区  ›  suresh

更改codeigniter中单击按钮时的用户级别

  •  1
  • suresh  · 技术社区  · 6 年前

    我正在尝试更新 userlevel )如果我再次点击,它必须更改为9(管理员)

    以下是我的视图页代码:

      <div class="col-md-4">
                                        <form method="post" class="change_userlevel" action="" onclick="getConfirmation(9);">
                                            <input type="hidden" name="id" value="<?php echo $user->id; ?>">
                                            <button type="submit"   class="widget-icon" name="login"><span class='icon-arrow-up'></span></button>
                                        </form>
                                          </div>
    <td>
                                        <?php
                                        if($usertype==9)
                                        {
                                          echo 'Admin';
                                        }
                                        elseif($usertype==5)
                                        {
                                            echo 'Teamlead';
                                        }
                                        else
                                         {
                                           echo 'Normal';  
                                         }
                                        ?>
                                     </td>
    

        <script type='text/javascript'>
    function getConfirmation(id){
    $.ajax({
            url: "User/change_status",
            type: "post",
            data: id,
            success: function (response) {
             location.reload();              
    
            }
        });
    }
    </script>
    

    这是我的控制器代码方法 change_status :

       function  change_status(){
    $id = $this->input->post('id');
    $status = $this->db->query("select userlevel from users where id=9")->row()->userlevel;
    if($status==3){
        $status = 5;
    } else {
        $status = 9;
    }
    $data=array('userlevel'=>$status);
    $this->db->where('id','id');
    $this->db->update('users',$data);
    }
    

    我不知道我做错了什么,它不起作用。

    提前谢谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Pradeep    6 年前

    希望这对你有帮助:

    ajax 代码应该如下:

    <script type='text/javascript'>
      function getConfirmation(id)
      {
        if (id != '')
        {
            $.ajax({
              url: "<?=site_url('User/change_status');?>",
              type: "post",
              data: {'id' : id},
              success: function (response) {
                alert('success');
               //location.reload();              
              }
          });
        }
    
    }
    </script>
    

    你的方法 change_status

    function  change_status()
    {
        $id = $this->input->post('id');
    
        $status = $this->db->select('userlevel')->where('id', $id)->get('users')->row()->userlevel;
        if($status == 3)
        {
            $status = 5;
        } else 
        {
            $status = 9;
        }
        $data = array('userlevel' => $status);
        $this->db->where('id', $id);
        $this->db->update('users',$data);
        echo TRUE;exit;
    }
    
    推荐文章