Php 而循环仅插入最后一条记录

Php 而循环仅插入最后一条记录,php,mysql,Php,Mysql,我有一个while循环,如果一行符合条件,它会显示复选框。这是一个表格,我想提交和执行插入。这是循环的代码: <form action'' method='post'> $result = mysqli_query($con,"SELECT * FROM b_tasks_report WHERE TASK_ID=$taskid GROUP BY WEEK_ID"); while($row = mysqli_fetch_array($result)) { echo "<tr&

我有一个while循环,如果一行符合条件,它会显示复选框。这是一个表格,我想提交和执行插入。这是循环的代码:

<form action'' method='post'>

$result = mysqli_query($con,"SELECT * FROM b_tasks_report WHERE TASK_ID=$taskid GROUP BY WEEK_ID");

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td class='noborder'><input type='checkbox' name='invoicename[]' value='$invoicename - Week " . $row['WEEK_ID'] . "'>Week " . $row['WEEK_ID'] . "</td>";
echo "</tr>";
}
echo "</table>";
<input type='submit' name='submit' value='submit'></form>
我多次使用insertdate post项。我已尝试将以下内容添加到表单字段的名称中:

insertdate[] 
然后在插入件上方包括:

foreach($_POST['insertdate'] as
但我不能让它工作。是不是因为我在不同的领域多次使用同一个帖子?我是否应该添加一个隐藏的ID字段以供其查看

总而言之,我只希望它添加1-3个新行,这取决于勾选了多少复选框


谢谢你的帮助。提前感谢

首先,在所有索引中$\u insert语句中的POST变量应该有引号,请尝试以下操作

$names= $_POST['invoicenames']
foreach($names as $invoicename){
$sql="INSERT into b_sale_order (LID,PERSON_TYPE_ID,PAYED,CANCELED,STATUS_ID,DATE_STATUS,EMP_STATUS_ID,PRICE_DELIVERY,ALLOW_DELIVERY,DEDUCTED,MARKED,RESERVED,PRICE,CURRENCY,DISCOUNT_VALUE,USER_ID,PAY_SYSTEM_ID,DATE_INSERT,DATE_UPDATE,TAX_VALUE,SUM_PAID,RECOUNT_FLAG,UPDATED_1C,ORDER_TOPIC,RESPONSIBLE_ID,DATE_BILL)
VALUES
('s1','1','N','N','A','".$_POST['insertdate']."','1','0.00','N','N','N','Y','0.00','GBP','0.00','1','1','".$_POST['insertdate']."','".$_POST['insertdate']."','0.00','0.00','Y','N','".$invoicename."','1','".$_POST['insertdate']."')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
 }

这似乎没有增加什么。只是正常运行,但没有添加任何内容。还需要一个,;在['invoicename']之后,我想…很抱歉修复了它,你已经把['invoicename']放在了它应该是['invoicename']的时候了。。谢谢你的帮助!请将其标记为答案。如果这解决了您的问题,则将其从未回答列表中删除
$names= $_POST['invoicenames']
foreach($names as $invoicename){
$sql="INSERT into b_sale_order (LID,PERSON_TYPE_ID,PAYED,CANCELED,STATUS_ID,DATE_STATUS,EMP_STATUS_ID,PRICE_DELIVERY,ALLOW_DELIVERY,DEDUCTED,MARKED,RESERVED,PRICE,CURRENCY,DISCOUNT_VALUE,USER_ID,PAY_SYSTEM_ID,DATE_INSERT,DATE_UPDATE,TAX_VALUE,SUM_PAID,RECOUNT_FLAG,UPDATED_1C,ORDER_TOPIC,RESPONSIBLE_ID,DATE_BILL)
VALUES
('s1','1','N','N','A','".$_POST['insertdate']."','1','0.00','N','N','N','Y','0.00','GBP','0.00','1','1','".$_POST['insertdate']."','".$_POST['insertdate']."','0.00','0.00','Y','N','".$invoicename."','1','".$_POST['insertdate']."')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
 }