插入5个或更多项目的ID

时间:2012-07-28 03:32:40

标签: php oracle11g

我继续上一个话题 - 1 id for more items - 我在讨论。

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

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

这是我的代码:我使用自动增量购买否。

这是我的执行代码:

<?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";
}
?>

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您应该遵循在之前的帖子中标记为已接受的建议,但不要将购买ID设为自动增量字段。重点是它不会自动增加;当你特别想要它时它会上升(这样多个项目可以拥有相同的purchase_id)。这意味着你需要明确地为它赋值。最简单的方法是查询当前购买表中的最大购买ID,并为您的查询添加1。