插入5个或更多项目的ID


Insert ID for 5 items or More

我从上一个主题(1 id表示更多项目)继续讨论。

在最后一个主题中,我询问了这个概念,现在我正在做的是继续对这个概念进行编码。

代码成功地将数据保存到数据库中,但当插入5个项目时,它仍然会根据每个ID提交每个项目的数据。示例:
项目1-计算机(采购编号1)
物品2-鼠标(购买编号2)
我想要的是:
项目1-计算机(采购编号1)
项目2-鼠标(采购编号1)

这是我的代码:我使用带有autoincrement的purchase no。

这是我的执行代码:

<?php
$conn = oci_connect("system", "dev01");
$n = $_POST['jum'];
for ($i=1; $i<=$n; $i++)
{
$dept=$_POST['dept'];
$date_request=$_POST['date_request'];
$supplier=$_POST['supplier']; 
$item=$_POST['item'.$i]; 
$qty=$_POST['qty'.$i];  
$uprice=$_POST['uprice'.$i]; 
$total=$_POST['total'.$i];  
$s = oci_parse($conn,
"insert into purchase_request(dept_id, supplier_id, date_request, item, qty, uprice, total_amount) values ('$dept', '$supplier', '$date_request', '$item'
, '$qty', '$uprice', '$total'
)");
$r = oci_execute($s);
oci_rollback($conn);
echo "Data was committed'n";
}
?>

有什么建议吗?

您应该遵循您在前一篇文章中标记为已接受的建议,但不要将购买ID设置为自动递增字段。关键是它不会自动递增;当您特别希望它上升时(这样多个项目就可以有相同的purchase_id)。这意味着您需要显式地为其赋值。最简单的方法是查询当前采购表中的最大采购id,然后在查询中添加1。