我需要通过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;
}
模型 这里需要使用post in view来访问$ 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;
}
答案 0 :(得分:0)
我认为您的问题是您没有索引'id'
$id = $this->input->post('id');
尝试转储您的帖子,看看您是否提供了$ _POST [“id”]