php - 动态添加自定义输入字段并将其保存到数据库

标签 php html mysql forms web-services

我想开发一项网络服务,用户可以在其中添加门票。每张票证都有一个输入文本字段标题和一个文本区域描述。如果用户单击保存按钮,数据将保存在mysql数据库中。

管理员有一个管理面板。他可以在此管理面板中添加或删除输入字段,以更改用户的添加票证 View 。 例如:管理员添加一个选择字段类别。您可以选择类别ABC。如果您选择类别 A,将会出现一个名为动物的新输入文本字段。如果您选择类别 B,则不会发生任何情况。如果您选择类别 C,则会出现 2 个新字段:文本字段和数字字段。数字字段是必需的。等等等等。一周后,管理员可以删除一些字段,或者添加一个类别或...总之,管理员可以在添加票证中添加和删除选择、文本、数字、密码...字段> 包含关系、长度和要求的部分。

我不知道如何构建数据库和保存数据。我想到类似 mysql 表 tickets 的东西,其中包含 titledescdata 并放入 XML/JSON字符串到 data 字段和另一个表 ticketFields,其中包含 name(类别、动物、...)、type (文本,数字,...),必需(是/否),长度(int),数据(用于存储选择的数据)字段)。问题是,这个模型中缺少关系。那么如何才能有效地保存这些数据呢?

最佳答案

关系模型可能如下所示:

门票:
id PK

答案:
TicketId FK PK
fieldId FK PK

字段:
id PK,
姓名,
ParentFieldId NULL FK,
父字段值 NULL,
类型,
必填,
分钟 NULL,
最大 NULL,
范围为空
(...其他“约束”字段,根据所选类型进行检查)

首先显示parentFieldId为NULL的字段。仅当给出父字段的答案时,才会显示设置了parentFieldId 的字段。如果给出父字段的答案并且它等于parentFieldValue,则显示设置了parentFieldId 和parentFieldValue 的字段。

根据字段类型检查给定答案(例如,如果类型为“数字”,则答案必须是最小值和最大值之间的数字)。

关于php - 动态添加自定义输入字段并将其保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607175/

相关文章:

javascript - 我想在 php 中每 3 秒刷新一次谷歌地图而不是整个页面

javascript - 带有动态 html 的 bxslider

html - 从 Angular 2 Typescript 播放 HTML 5 视频

javascript - HTML 不会自动解释字符代码

mysql - 如何在单个数据库中合并两个表?

javascript - 阅读更多按钮或显示/隐藏 php

php - 我可以在自己的网站上填写外部网站上的表格吗?

php - 在 PHP session 中保存 jQuery 变量

mysql - 对两个表中的值进行一些计算并将其存储在其中一个表中

php - 如何组合字段检索数据