因此,我有一个页面网站,总部用户可以在其中填写一份表格,提供有关其在全国 25 个地点之一(称为单位)的详细信息。还有一个页面,总部用户可以填写表格,提供 147 家供应商之一的详细信息,这些供应商可能会或可能不会供应某些单位。
我的问题是以简单且有意义的方式将单位与供应商联系起来的最佳方式是什么?
显然,我可以设置一个表格,您可以在其中选择单个单位和单个供应商,但这对于总部用户来说会很乏味且耗时,因为某些单位可能由 50 多个供应商提供。还有其他更聪明的方法来解决这个问题吗?
最佳答案
要么有一个单独的表来连接两者
unit_suppliers
unit_id,supplier_id
主键是 unit_id
的组合和supplier_id
或者有一个suppliers
单位表中的字段,包含该单位的供应商 ID 的逗号分隔字符串
对于第一种情况,要获取某个单位的供应商,sql 如下所示
SELECT * FROM suppliers WHERE id IN (SELECT supplier_id FROM unit_suppliers WHERE unit_id='$UnitID')
( $UnitID
是包含单位 ID 的 php 变量)
第二次你会这样做
SELECT * FROM suppliers WHERE find_in_set(id,(SELECT suppliers FROM units WHERE id='$UnitID')) <> 0
然后在您的表单中有某种方法为一个单位选择多个供应商并相应地插入数据库
关于php - MySQL/PHP 如何设置和填充关系数据库以一次插入几行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16832872/