[英]multiple row insert inserts 2 extra rows with 0
伙计们在插入多行问题上都可以,但是3个额外的行(值为0)插入了employee_id
if (isset($_POST['submit'])) {
$i = 0;
foreach ($_POST as $val) {
$user_id = $_POST['user_id'][$i];
$employee_name = $_POST['employee_name'][$i];
$remarks = $_POST['remarks'][$i];
$time_in = $_POST['time_in'][$i];
$time_out = $_POST['time_out'][$i];
$team = $_POST['team'][$i];
mysql_query("INSERT INTO attendance (employee_id, employee_name, remarks, time_in, time_out, team) VALUES ('$user_id', '$employee_name', '$remarks','$time_in', '$time_out', '$team')");
$i++;
}
}
这是表格
$time_in = date('Y-m-d H:i');
$result=mysql_query("SELECT * FROM members WHERE login != 'admin'");
$rowNo = 1; //Increment Row Number
while($row = mysql_fetch_array($result))
{
$id = $row['member_id'];
$user = $row['login'];
$team = $row['team'];
echo "<tr align='left'>";
echo"<td width='10px'><font color='white'>" .$rowNo++."</font>.</td>";
echo"<td><font color='black'><input type='hidden' name='user_id[]' value='".$id."'/> <input type='hidden' name='employee_name[]' value='".$user."'/> " .$row['login']."</font></td>";
echo"<td><font color='black'>
<select name='remarks[]'>
<option valur='Present'>Present</option>
<option valur='Absent'>Absent</option>
<option valur='Half Day'>Half Day</option>
</select>
</font>
</td>";
echo"<td><font color='black'><input type='text' name='time_in[]' value='".$time_in."'/> <input type='text' name='time_out[]' value='".$time_out."'/> <input type='hidden' name='team[]' value='".$team."'/></font></td>";
echo"<td>";
echo "<p align='right'>
</p></tr>";
}
如何纠正呢?
谢谢
您的表格是什么样的?
另外,您不应该使用mysql_命令。 不推荐使用。 应该使用mysqli过程式或面向对象。
正在编辑以提供可能的答案...
不要在$ _POST上循环,而是在表单输入中命名一个form_value[]
或类似名称,然后循环: foreach($_POST['form_value'] as $val)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.