我的数据库中有两个表users
和onlineform
。 onlineform
有一个名为userid
的字段,它是users
表id
的外键。当我将数据保存到onlineform
表时,我正在尝试将登录的用户ID保存到userid
字段。但是,它仅返回了此Message: Undefined index: userid
。令人困惑的是,其他数据可以保存,只有用户ID不能保存到userid
表的onlineform
字段中。我正在使用ajax保存数据
我的模型, form_model.php
public function save($form_data)
{
for ($i=0; $i < count($form_data); $i++) {
$data[] = array(
'id'=>$form_data[$i]['userid'],
'date'=>$form_data[$i]['date'],
'day'=>$form_data[$i]['day'],
'in1'=>$form_data[$i]['in1'],
'out1'=>$form_data[$i]['out1'],
'in2'=>$form_data[$i]['in2'],
'out2'=>$form_data[$i]['out2'],
);
}
try {
for($i = 0; $i < count($form_data); $i++) {
$this->db->insert('onlineform',$data[$i]);
}
return 'success';
}
catch (Exception $e) {
return 'failed';
}
}
控制器, form.php
public function save()
{
$form_data = $this->input->post('form_table');
$this->load->model('form_model');
$status = $this->form_model->save($form_data);
$this->output->set_content_type('application/json');
echo json_encode(array('status' => 'status'));
}
和我的观点, report.php
$('#savedb').click(function(){
var form_table = [];
$('#form_table tbody tr').each(function(row, tr) {
if ($(tr).find('td:eq(0)').text() == "") {
}
else {
var sub = {
'day' : $(tr).find('td:eq(0)').text(),
'date' : $(tr).find('td:eq(1)').text(),
'in1' : $(tr).find('td:eq(2)').text(),
'out1' : $(tr).find('td:eq(3)').text(),
'in2' : $(tr).find('td:eq(4)').text(),
'out2' : $(tr).find('td:eq(5)').text(),
'id' : $(tr).find('td:eq(6)').text()
};
form_table.push(sub);
}
});
var data = {
'form_table' :form_table
};
$.ajax({
data : data,
type : 'POST',
url : '<?php echo base_url('index.php/Form/save'); ?>',
crossOrigin : false,
dataType : 'json',
success : function(result) {
if(result.status == "success"){
}
else {
}
}
})
});
答案 0 :(得分:0)
$form_data[$i]['userid']
应该是$form_data[$i]['id']
定义如下:
'id' : $(tr).find('td:eq(6)').text()
或将后者更改为:'userid' : $(tr).find('td:eq(6)').text()