在 codeigniter 中单击按钮时更新后端的状态值

新手上路,请多包涵

在我的应用程序的 view_candidates 表单中,我有一个带有文本的按钮 REQUEST CONTACT INFO 。当我点击按钮时,文本将自动更改为 FINISH

现在发生了什么: 当我刷新页面时,按钮文本自动更改为 REQUEST CONTACT INFO

为了克服这个问题,我在我的数据库中提供了一个 status 列。

我想要的是:

一旦用户点击按钮, status 应该从 0 变为 1。

使用 status ,我想显示我的按钮文本,如:if status=0 button should be REQUEST CONTACT INFO ,否则它应该是 FINISH

按钮代码:

 <td>
    <button type="button" id="button" class="btn btn-info" onclick="getConfirmation(id);">
        <b>REQUEST CONTACT INFO</b>
    </button>
</td>

脚本:

 <script>
     function  getConfirmation(id)
     {

        var retVal = confirm("your request is confiremed ?");
        if(retVal)
                        {

                          $('#button').text('Finish');

        $.ajax({
                url: "Candidate/user_view_candidates/change_status",
                type: "post",
                data: id,
                success: function (response)
                {
                 //location.reload();
                 alert('success');
                }

            });
        }
    }

    </script>

控制器代码:

     public function  change_status()

 {

     $id = $this->input->post('candidate_id');
     $status = $this->db->query("select status from candidates_details          where id = candidate_id")->row()->status;
    if($status==0)
    {
        $status = 1;
    }
    else
    {
        $status = 0;
    }

    $data=array('status'=>$status);
    $this->db->where('candidate_id',$id);
    $this->db->update('candidates_details',$data);
}

有人能帮我吗?

提前致谢。

原文由 M5533 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 269
2 个回答

检查这个:

看法

<input type="hidden" name="candidate_id" value="<?php echo $candidate_id; ?>"/>//your candidate_id
<button type="button" id="button" class="btn btn-info" >
    <b><?php $status == 0? 'REQUEST CONTACT INFO':'FINISHED';?></b>//your status value
</button>

<script src="<?php echo base_url(); ?>assets/plugins/jquery.min.js"></script>

js

 $('#button').click(function() {
    var candidate_id = $('input[name="candidate_id"]').val();
    var url = 'your_cntroller_name/change_status/';
    $.ajax({
        url: your_base_url + url,
        type: 'POST',
        data: {'$candidate_id': $candidate_id},
        dataType: 'JSON',
        success: function(data) {
             $('#button').text('FINISHED');
        }
    });
});

控制器

public function change_status() {
    $candidate_id = $this->input->post('candidate_id');
    $this->your_model->update_status($candidate_id);

    echo true;
    exit;
}

模型

public function update_status($candidate_id) {

    //your query toupdate status

}

原文由 Ruby Nanthagopal 发布,翻译遵循 CC BY-SA 3.0 许可协议

在您看来,完整的分步解决方案是步骤 -1

 <td><button type="button" id="button" class="btn btn-info" onclick="getConfirmation(row id);"><b>REQUEST CONTACT INFO</b></button></td>

getConfirmation(id){
$.ajax({
        url: "url_to_your_controller/change_status",
        type: "post",
        data: id,
        success: function (response) {
         location.reload();

        }
    });
}

控制器中的步骤 -2

 change_status(){
$id = $this->input->post('id');
$status = $this->db->query("Your query")->row()->status;
if($status==1){
    $status = 0;
} else {
    $status = 1;
}
$data=array('status'=>$status);
$this->db->where('id','id');
$this->db->update('table_name',$data);
}

原文由 Waqas Hafeez 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题