我对这一切都不熟悉,我似乎无法在谷歌上找到正确的搜索来获得我正在寻找的答案。我有一个用户将用于创建新事务的前端。有一个下拉菜单绑定到“类别”表,该表与“事务”具有1:M关系(参见图像)。我的问题是,如果用户提交此表单以保存新的交易,他们不知道类别表中的ID,他们将要做的就是从类别表中提取的下拉列表中选择一个。此时我所知道的是从下拉列表中获取输入并将其存储到事务表中的字段中。我试图理解如何使用关系,但在我对键如何工作的有限理解中,似乎除非你知道ID号是什么,否则这种关系并不好。如果您所做的只是从下拉列表中提交并将其存储在事务表中,那么您仍然只是将类别名称存储在2个不同的表中,那么重点是什么?我错过了这里的一步,我希望有人可以帮助理解这一点。
答案 0 :(得分:2)
用户不知道类别ID。 (虽然他们可以,如果他们愿意。它在标记中。)更重要的是,您的代码将知道类别ID。在创建该下拉列表(select
元素)时,您的代码将使用 ID和名称填充它。 ID用于值,Name用于显示文本。
生成的标记可能如下所示:
<select name="category">
<option value="1">First Category</option>
<option value="2">Second Category</option>
<option value="3">Third Category</option>
</select>
等等。
当用户选择一个时,他们会根据文本进行选择。但实际表单会将所选选项的值发布回服务器。因此,如果用户选择Second Category
,那么在服务器端代码$_POST["category"]
中将包含值2
,这是您需要在事务记录中插入的ID。