当前位置: 首页 > 面试题库 >

数据库设计帮助-EAV +表单生成器

蒙峰
2023-03-14
问题内容

我正在尝试构建一种表单生成器,该表单生成器将允许我以灵活的方式定义,显示和存储“测试”。即,允许用户通过网络界面创建一种新型的测试/表单(“分组”)并定义一组将在表单上显示的字段(任何类型的字段,包括日期,文本,广播,复选框等)。我还需要一个结果表,该表将存储保存在每个表单/测试中的值。

作为一个不足的示例,到目前为止,我有以下3个表:

dd_TestGrouping
- TestGroupingID [pk]  
- TestGroupingName  "Algebra-1"
- TestGroupingTypeID "Math"

dd_TestFields
- TestFieldID [pk]
- TestGroupingID [fk]
- TestFieldName "Circumference"
- TestFieldType "TextBox"
- Sequence

TestResults
- TestResultID [pk]
- TestFieldID [fk]
- value "50"
- Unit "CM"

上面的问题-如果没有其他问题-我不确定如何动态显示下拉列表和链接的单选框/复选框。另外,我该如何处理验证?

在此先感谢您的帮助/指标。


问题答案:

听起来像是使用EAV模型的一个很好的例子。



 类似资料:
  • 问题内容: 我正在建立一个网站,其中包含不同类型的项目,例如博客,帖子,文章等。用户可以将其中任何一个设置为他/她的最爱。现在,当我处理这个问题时,我有两个选择 为每种对象的用户收藏夹创建一个表。 为所有用户的所有类型的对象创建一个公用表。 第一种结构的问题是,我将不得不查询很多表以显示特定用户的收藏夹。但这将使我可以轻松地将收藏夹分为不同的类别。 但是,如果我必须在一个页面上显示所有收藏夹并将它

  • 问题内容: 我想构建一个通用Web表单的后端,其中包含用户可以回答的问题。有多种类型的问题。 “普通”文本问题:通过一个简单的文本字段回答该问题。 示例 :一般的个人信息,例如姓名。 Textarea问题:相同,但是有更多的空间来写答案。 示例 :“您想要添加的更多信息”框。 多选题:带有一些预定义答案的问题,可以从中选择一个。 示例 :您对PHP的编程程度如何?[]不太好[]平均[]我已经写过这

  • 问题内容: 我想从t1中获取名称,并在t2中获得与ID在t1上相同的行数。 到目前为止,我已经掌握了上述内容,但是如果t2中没有匹配的行,它将不会返回任何数据。如果没有行,则我希望将其设置为0(或NULL),并且名称仍然返回。 编辑: 我希望能够按降序排序。(或ASC)可行吗? 问题答案: 这应该为您工作: 左联接确保您拥有t1中的所有行,而COUNT(。)使其仅计算t2.id不为null的记录(

  • 表单帮助方法 表单是网页程序的基本组成部分,用于接收用户的输入。然而,由于表单中控件的名称和各种属性,使用标记语言难以编写和维护。Rails 提供了很多视图帮助方法简化表单的创建过程。因为各帮助方法的用途不一样,所以开发者在使用之前必须要知道相似帮助方法的差异。 读完本文,你将学到: 如何创建搜索表单等不需要操作模型的普通表单; 如何使用针对模型的表单创建和编辑数据库中的记录; 如何使用各种类型的

  • 我正在尝试将我的html表单与MySQL数据库连接起来。因此,用户在提交给MySQL数据库的表单中插入了什么值。我已经尝试了以下代码,但它在执行时显示了以下错误 “未定义索引:第20行中的名称”和“未定义索引:第21行中的地址” 这是我的html代码 这是我的php代码

  • 我有一个PHP laravel projekt,我需要添加一个字段到一个/多个模型(雄辩)。我在php方面没有太多的经验,以前从未尝试过laravel。 现在这个班看起来像这样 我想添加一个名为“level”的字符串字段,但我不知道如何操作。如果我先在MySQL中创建字段,然后更新模型,如果我更新模型,然后Laravel为我更新MySQL? 我期待着听到我能做什么:)