我的数据库中有两个表,users
和onlineform
。onlineform
有一个名为userid
的字段,它是users
表id
的外键。当 im 将数据保存到表onlineform
时,im 尝试将登录的用户 ID 保存到userid
字段。但是,它只返回了这个Message: Undefined index: userid
.令人困惑的部分是可以保存其他数据,只有用户ID不能保存到表中onlineform
userid
字段中。我正在使用 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';
}
}
控制器,窗体.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'));
}
和我的观点,报告.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 {
}
}
})
});
$form_data[$i]['userid']
应该$form_data[$i]['id']
如此处定义:
'id' : $(tr).find('td:eq(6)').text()
或将后面的更改为:'userid' : $(tr).find('td:eq(6)').text()