php - 在数据库中存储 HTML 表单模板

标签 php html mysql

我允许用户使用他们选择的任意数量的输入和元素创建自定义表单。然后,我希望用户能够将该表单另存为某种模板,以便其他用户可以使用该模板来创建他们自己的自定义表单,就像它一样。

可能有数百种不同的帖子类型,每一种都有不同的元素等。

在 PHP 和 MySQL 中完成此任务的最佳方法是什么?

我正在考虑在用户在数据库中创建自定义表单后仅存储它的 html。因此,如果另一个用户想要使用该模板,我只需从数据库中检索该 html 并将其呈现给新用户。

这是最好的方法吗?许多网站都做类似的事情(例如 Wufoo),将原始 html 存储在数据库中对我来说似乎有点奇怪。

最佳答案

每当您考虑将 HTML 存储在数据库中时,您可能都走错了路。

如果您想对所有表单进行通用的结构更改怎么办?您突然不得不检查所有记录并进行更改。

相反,考虑仅使用数据库来存储以后重新创建表单所需的基本内容。

也许您有一个数据库表来存储表单,另一个与它具有一对多关系的表存储每个字段定义,等等。

因此您的数据库将存储输入的数量、它们的类型、标签、验证要求——随便什么。然后你会有一个大脚本来检查这些并 - 瞧 - 重建表单。

这种方法:

  • 让您更好地控制一般的 HTML 结构
  • 更符合规范化数据库数据的概念
  • 坚持将数据和结构(即 HTML)分开的概念
  • 减少存储的数据量(无重复标签、空格等)

关于php - 在数据库中存储 HTML 表单模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27830620/

相关文章:

mysql - 查询总和(总计)

php - 使用 GD PHP 创建带有文本和透明背景的图像

php - 如何从 MySQL PHP 检索数据

PHP 不会回显 JSON_ENCODE 除非我回显其他内容

php - PDO:查询中的 IF 语句?

html - 从已访问链接下删除下划线

mysql - 在 MySQL 或查询生成器中使用 LEFTJOIN 进行 SELECT 和 COUNT

javascript - 如何使用HTML5在ios6中录制和播放语音

javascript - 脚本在 html 正文标签之外不工作

php - 奇怪的 PHP&MySQL 错误 No Database Selected/mysql_num_rows() 期望参数 1 为资源, bool 值给出