【问题标题】:database driven fields (field ids)数据库驱动的字段(字段 ID)
【发布时间】:2011-04-19 01:21:31
【问题描述】:

我需要驱动我的网站数据库上的所有字段,以便我可以进行字段级别跟踪并将验证/字段类型等分配给每个字段类型。当前架构:
L_SystemFields
sys_field_id
名字

L_Fields
字段ID
sys_field_id(fk 到 L_SystemFields)
名字

这允许我链接这个:
字段 1 = 登录页面上的用户名
字段 2 = 注册页面上的用户名

现在这两个字段在技术上是相同的 - “用户名”,因此它们在 L_SystemFields 中具有相同的 sys_field_id 和名称。但是要进行字段跟踪,他们需要一个唯一的 ID,因此他们在 L_fields 中具有不同的 field_id 和名称,例如 username1、username2。

问题是:在 html 表单中,我要输入什么 - field_id、sy_field_id、名称(来自 L_SystemFields)或名称(来自 L_Fields)或其他什么?据我所知,每个页面的字段名称应该是唯一的,这在这种情况下有效,但在我在用户个人资料之类的页面上有多个相同字段的情况下不起作用,我可以添加我参加的多个大学。在这种情况下如何命名字段以及使用什么值?

【问题讨论】:

  • 建议编辑您的问题以包含一个示例 HTML 表单来说明。
  • 抱歉,我没听懂。什么是“field_type_id”,你想用它做什么?您是在谈论创建动态生成的模式,即具有用户定义字段的 CMS,还是只是具有数据库内容的网站?
  • 我已经用架构和目的更新了问题。
  • “现场跟踪”是什么意思?
  • 字段跟踪有很多内容:每页回答哪些字段,哪些字段错误最多,哪些字段与哪些字段匹配,等等。为此,我需要唯一标识字段并将它们链接在一起.

标签: html field database-driven


【解决方案1】:

建议您不要派生数据库模式以适应 HTML 表单。您将希望使您的应用程序易于更改以备将来使用。将数据库设计绑定到您的 HTML 表单会很痛苦。它还允许您实现 v2 或其他前端(移动应用程序、桌面应用程序等)独立于您的初始 HTML 实现。

考虑实现您的数据库设计首先。达到你认为合适的第二或第三范式。

一般来说,为您的 HTML 元素指定一个名称/ID 以帮助它们有意义。不同页面上的不同元素(联系人、个人资料和注册)不需要唯一命名。

不清楚为什么您需要使用他们的 field_type_ID 合并/装饰您的字段。

<input type="text" id="customerEmail_1" />
<input type="text" id="homePhone" />

对于倍数:

<input type="text" id="customerEmail_2" /> //etc

如果您需要多个,另一种选择是使用 &lt;textarea&gt; 并为其设置样式。

【讨论】:

  • 我用字段架构和原因更新了问题。那么 customerEmail_1、customerEmail_2 是字段名称还是字段 ID? (Id 表示字段表中的主键)?并且 id 必须对整个系统或每个页面都是唯一的?
猜你喜欢
  • 2015-01-07
  • 2013-03-15
  • 1970-01-01
  • 2014-01-25
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多