【问题标题】:Insert ID for 5 items or More为 5 个或更多项目插入 ID
【发布时间】:2012-07-28 11:59:30
【问题描述】:

我继续我讨论的上一个主题 - 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";
}
?>

有什么建议吗?

【问题讨论】:

标签: php oracle11g


【解决方案1】:

您应该遵循您在之前的帖子中标记为已接受的建议,但不要将购买 ID 设为自动增量字段。关键是它不会自动增加。当您特别想要它时它会上升(以便多个项目可以具有相同的purchase_id)。这确实意味着您需要显式地为其分配一个值。最简单的方法是查询当前在购买表中的最大购买 id,并为您的查询添加 1。

【讨论】:

    猜你喜欢
    • 2023-01-02
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2014-09-04
    相关资源
    最近更新 更多