[英]codeigniter update database record using ajax
我需要通过ajax使用表单更新数据库记录,我尝试了几种方法。 但是我无法使用post方法来做到这一点。 这是我的代码
视图
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<h2>Company Details.</h2>
<?php
$this->load->helper('form');
$attributes = array('method'=>'post','name'=>'update_company','id'=>'update_company');
echo form_open_multipart('',$attributes);?>
<?php// echo form_open_multipart('site/update');?>
<?php $sid=$company_data->id;?>
<label>cmp_id : </label> <?php echo form_input('sid',$sid);?><br/><br/>
<label>Code : </label> <?php echo form_input('code',$company_data->code);?><br/> <br/>
<label>Name : </label> <?php echo form_input('name',$company_data->name);?><br/> <br/>
<label>Logo : </label><input type="file" name="userfile"/><br/><br/>
<label>URL : </label> <?php echo form_input('url',$company_data->url);?><br/><br/>
<label>Description : </label> <textarea name="description" rows="4" cols="50"><?php echo $company_data->description; ?></textarea><br/><br/>
<input type="submit" value="Update"/>
</form>
<script> //no need to specify the language
$(document).ready(function() {
$('#update_company').on("submit",function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "<?php echo site_url('site/update/'); ?>",
data: $(this).serialize(),
success: function(data){
var site_url = "<?php echo site_url('site/update/'); ?>";
var id = "<?php echo $sid; ?>";
site_url = site_url +"/" + id;
alert(site_url);
alert(id);
//$("#content").load("http://localhost/FinanceManagementSystem/index.php/site/update/"+id);
}
});
});
});
</script>
根据$ sid我需要更新该特定记录, contorller
public function update(){
$this->load->model('company_model');
$updateName=$this->company_model->update_company();
return $updateName;
}
这里的模型需要使用view发出的post方法访问$ id。
function update_company(){
//user details
$username = $this->session->userdata('username');
$query = $this->db->get_where('userdetails',array('username'=>$username));
$company_update_data = array(
'code' => $this->input->post('code'),
'name' => $this->input->post('name'),
//'logo' => $imgpath['file_name'],
'url' => $this->input->post('url'),
'description' => $this->input->post('description'),
'createdat' => date('Y-m-d H:i:s',strtotime('')),
'status' => 0,
'userid' => $this->userid
);
$id = $this->input->post('id');
$this->db->where('id', $id);
$update = $this->db->update('companydetails', $company_update_data);
return $id;
}
我认为您的问题是您没有索引“ id”
$id = $this->input->post('id');
尝试转储您的帖子,看看您是否提供了$ _POST [“ id”]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.