php - 动态输入数据库

标签 php mysql database postgresql database-design

我正在开发一个应用程序,它允许用户根据用户需求创建自定义项目,该项目基本上是一个可以由其他用户提交的表单。

我希望允许用户为项目(基本表单)动态创建新字段(使用 Javascript)并为每个字段选择自定义值。

当项目(表单)准备就绪时,可以将其提交,并将用户指定的值发送到数据库。然后另一个用户可以提交表单,原始用户选择的值将作为该表单的选项。

这些值(由用户动态创建)很可能是基本数据,如姓名、电话、电子邮件等。但也有针对特定数据的选项,如食物、地址等。我希望用户能够索取他/她认为必要的任何数据。

那么我应该如何构建我的数据库?我无法确定用户将为他的项目选择哪些或多少个字段,我正在考虑在传统的关系数据库(最有可能是 Postgres 或 Mysql)中执行此应用程序。

那么应该为我能想到的所有数据创建列(或允许用户创建)还是可以通过其他方式完成?

最佳答案

您可能想看看 EAV模型。它有一些优点,因为您可以灵活地创建您想要的任何结构,但它在事后检索和查询方面也有一些限制。

关于php - 动态输入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17094784/

相关文章:

php - 是否有可能以某种方式为我的网站获取这个随机生成的 key 并访问 SQL?

php - 存储过程 'IF' 语句 + 'UPDATE' 或 'INSERT' 基于空字段

php - 我们如何在 sugarcrm 中以编程方式将文件上传到上传文件夹中

java - 将 mysql 中的数据库列值与 java 中的另一个字符串进行比较

MySQL count(*) 一个月内每天返回 [BLOB-2B] 而不是数字

java - 连接到 Xeround 数据库的代理设置

javascript - 单选按钮问题 cakephp + jquery

php - 如果使用优惠券则不含税,否则商品含税

mysql - SQL - 将列值设置为与公共(public) id 匹配的不同行的值的差异

java - 从 Java 运行 SQLscript 文件