【发布时间】:2024-01-03 18:36:01
【问题描述】:
我是 codeigniter 的新手。我试图将数据出勤率传递到数据库中。
这是我的视图代码
<?php $no=1; foreach($employee AS $list_emp) { ?>
<tr>
<td><?= $no ?></td>
<td><input type="hidden" name="employee[]" value="<?php echo $list_emp->sn; ?>"><?= $list_emp->name; ?></td>
<td><?= $list_emp->position; ?></td>
<?php foreach ($attend_detail AS $list) {?>
<td><input type="checkbox" name="detail[]" value="<?php echo $list['details']"></td>
<?php } ?>
<td><input type="text" name="note[]"></td>
<input type="hidden" name="location[]" value="<?php echo $list_emp->branch; ?>">
</tr>
<?php $no++;} ?>
当我检查 1 名员工出勤时(例如 4630 是工作),数据可以传递到数据库,但结果是这样的(见图 2)
所有数据视图输入到数据库,而不是之前检查 1 时的数据,并备注 WORK 插入到第 1 行。
这是我的控制器
function add_attend()
{
$employee = $this->input->post('employee');
$location = $this->input->post('location');
$detail = $this->input->post('detail');
$note = $this->input->post('note');
$total = count($employee);
if (empty($detail) === true) { $errors['detail'] = 'please select one';}
if (!empty($errors)){
$info['success'] = false;
$info['errors'] = $errors;
}
else {
for ($x=0; $x<$total; $x++){
$data = array(
'sn' => $employee[$x],
'lab' => $location[$x],
'stat' => $detail[$x],
'note' => $note[$x]
);
$this->m_human_capital->insert_attend($data);
}
$info['success'] = true;
}
$this->output->set_content_type('application/json')->set_output(json_encode($info));
}
这是我的模特
function insert_attend($data)
{
$this->db->insert('tb_attend_tes',$data);
}
我只想插入我检查过的员工出勤率。请帮忙
感谢任何人的帮助。
对不起我的英语不好
【问题讨论】:
-
您的
note字段在哪里?因为如果它与您的出勤列表在同一行 - 您的数据库结构没有任何意义......您的出勤需要一个 m:n 关系,但您的笔记只需要 1:1 关系 - 或者应该为每次出勤重复记录? -
很抱歉缺少部分图片,图片右侧的NOTE字段,如果为空也没有问题。我已经尝试填写注释,但问题仍然存在。
-
没人能帮我吗?
-
@MardinoIsmail 你可以在插入数据库之前打印数组添加到答案中
-
@saurabhkamble 查看图片编号。 1. 像那样?
标签: php mysql codeigniter