我正在制作一个“工作时间”数据库,用户可以每天记录他们的工作时间。目前,表单只允许他们一次添加一条记录(日)。
有些用户希望在月底之前执行此操作,并立即注册该月的所有日期。如果表单在一个页面上每天都有一个字段,然后立即提交所有内容,那就容易多了。
推荐的处理方式是什么?
我应该只添加31行字段并将其命名为blabla1,blabla2,blabla3等。 然后在PHP中逐个检查,如果该字段不为空,如果不是,请执行INSERT吗? 或者有更优雅的方法来解决这个问题?
目前,DB有以下字段: WorkHourID 雇员 项目 开始时间 结束时间
答案 0 :(得分:1)
这很简单,真的。创建一个这样的HTML:
<input type="text" name="hours[]" />
<input type="text" name="hours[]" />
<input type="text" name="hours[]" />
他们提交的任何内容都会创建一个这样的PHP数组:
$_POST['hours'] = array([0] => 'value 1', [1] => 'value 2');
我想你可以从那里去,对吗?或者您还需要更多帮助吗?
如果您需要更多PHP部分:
<?php
foreach($_POST['hours'] as $value){
if ($value){ // it's not empty
// maybe do a little more check on whether $value is valid
// then insert $value to DB
}
}
?>
答案 1 :(得分:0)
在表单中,您可以添加一个带有“整月”标签的复选框。如果选中该复选框,则添加与该月的日期相同的总计记录。但是在某处添加注释,如果已填写日期,则不会覆盖相应的记录。或者您可以添加另一个复选框来覆盖当月的现有记录。
HTH