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

时间:2018-08-13 09:49:46

标签: php ajax codeigniter codeigniter-3 codeigniter-query-builder

点击按钮时,我正在尝试更新kafka error is BrokerNotAvailableError: Broker not available。我有一个页面,它将显示所有用户在那里我有更改级别按钮。默认情况下,每个用户都将处于正常级别(平均3),因此当我单击按钮时,它必须更改为5(潜在客户) ),如果我再次单击,则必须更改为9(admin)

这是我的查看页面代码:

userlevel

这是我的Ajax脚本代码:

  <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

我不知道我在哪里做错了,这是行不通的。

谁能帮我解决这个问题。

谢谢。

1 个答案:

答案 0 :(得分:1)

希望这对您有帮助:

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