php - 1 个 ID 可获取更多项目

标签 php mysql oracle11g

我有一个表单request_form.php,用于管理请求项目的购买请求表单。

Purchase_Request_No:(自动 - 自动增量)
日期:
部门:
供应商:
项目请求:
示例有 5 行:
1.
2.
3.
4.
5.

我想使一次购买请求有 1 个Purchase_Request_No。
示例:

购买请求编号:17
日期:2012年7月25日
部门:生产
供应商:微软
项目请求:
1.Windows XP专业版
2.键盘
3.鼠标
4.液晶显示器
5.演讲者

那么,我怎样才能用1个Purchase_Request_No来实现超过1个项目的项目请求(在本例中我放置了5个项目)?

有人可以帮助我吗? 感谢您的提前。

<小时/>

大家好,现在我已经在编码这个概念了。 它已成功将数据保存到数据库中,但仍然在插入 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";
}
?>

有什么想法吗?

最佳答案

有三张 table 。其中一个将包含产品:

id    Product
1     Windows XP Professional
2     Keyboard
3     Mouse
4     LCD Monitor
5     Speaker

另一个包含请求:

id    request_date    dept       supplier
1     25-Jul-2012     Production Microsoft

第三个将前两个映射在一起

id  request_id  item_id
1   1           1
2   1           2
3   1           3
4   1           4
5   1           5

(或者,您可以将产品的 id 设置为质数,并将 items 列存储为项目的倍数。您需要做的就是找到 items 列的质因数,然后然后你就得到了项目列表!*)

*出于某种原因,工作中没有人认为这是一个好主意。

关于php - 1 个 ID 可获取更多项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11680950/

相关文章:

PHP默认参数函数调用

php - Laravel 在不使用 foreach 循环的情况下发送单独的多封邮件

php - 密码验证不适用于密码哈希 BCRYPT

PHP Mysql复制一条记录到不同的数据库

javascript - 使用 javascript 访问 php 变量

sql - 在 Oracle 行的多个列上使用透视

sql - ORA-06502 : character string buffer too small. 即使字符串大小低于声明的大小限制

用于解决数据库中的传递依赖项的 SQL 查询

php - 从数组中查找第一个可用的 ID

javascript - 传递 js 变量以形成操作 url