0

所以我有一个页面网站,总部用户可以在其中填写一份表格,提供有关其在全国 25 个地点之一的详细信息(称为 Units)。还有一个页面,他们的总部用户可以在其中填写表格,提供 147 家供应商之一的详细信息,这些供应商可能会或可能不会提供某些单位。

我的问题是以简单且有意义的方式将单位与供应商联系起来的最佳方式是什么?

显然,我可以设置一个表单,您可以在其中选择单个单元和单个供应商,但这对于总部用户来说将是乏味且耗时的,因为某些单元可能由 50 多个供应商提供。还有另一种更聪明的方法来解决这个问题吗?

4

1 回答 1

1

要么有一个单独的表,只连接两者

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

然后在您的表单中有一些方法可以为一个单元选择多个供应商并相应地插入数据库

于 2013-05-30T10:02:29.637 回答