首页 > 解决方案 > 在codeigniter中单击按钮更改用户级别

问题描述

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>

这是我的 ajax 脚本代码:

    <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);
}

我不知道我在哪里做错了它不起作用。

谁能帮我解决这个问题。

提前致谢。

标签: phpajaxcodeignitercodeigniter-3codeigniter-query-builder

解决方案


希望对你有帮助 :

你的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;
}

推荐阅读