Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建一个;“动态”;表单-在两个字段中存储数据和表单设计_Php_Mysql_Html_Forms - Fatal编程技术网

Php 如何创建一个;“动态”;表单-在两个字段中存储数据和表单设计

Php 如何创建一个;“动态”;表单-在两个字段中存储数据和表单设计,php,mysql,html,forms,Php,Mysql,Html,Forms,我正在为一家公司制作一套系统,该公司有很多现场工人,他们在做每一项工作时都需要填写大量的证书。我们通过运行mysql/php/apache系统并与主服务器同步的平板电脑来实现这一点 这些证书变化很大,所以我总是得到更新的版本。如果我在传统的数据库/php/html设置中这样做,我将永远改变设计和数据库,更不用说处理证书设计和数据的修订了。(添加、删除字段) 我正在寻找一种方法,在mysql数据库中,我可以轻松地设计一个表单,并将其设计和数据存储在一行(两个字段)中。因此,当读取特定行时,我总是有

我正在为一家公司制作一套系统,该公司有很多现场工人,他们在做每一项工作时都需要填写大量的证书。我们通过运行mysql/php/apache系统并与主服务器同步的平板电脑来实现这一点

这些证书变化很大,所以我总是得到更新的版本。如果我在传统的数据库/php/html设置中这样做,我将永远改变设计和数据库,更不用说处理证书设计和数据的修订了。(添加、删除字段)

我正在寻找一种方法,在mysql数据库中,我可以轻松地设计一个表单,并将其设计和数据存储在一行(两个字段)中。因此,当读取特定行时,我总是有与数据匹配的正确设计,我可以合并在一起。这可以通过xforms完成,但浏览器需要一个插件来完成。xforms很乏味

只处理文本字段相当容易,但我需要复选框、列表等等


欢迎大家集思广益

查看ValidForm它是一个非常棒的开源库,可供用户处理表单。这不仅仅处理它处理的表单:

  • 验证
  • 客户端安全
  • 服务器端安全
  • 风格
  • 更多
你不能出错,最重要的是它是免费的,易于使用,我认为它将是你的理想选择

祝你好运, 泰勒·摩尔试试这个

如您所说,创建一个包含两个字段的表,然后使用csv将您的设计和数据存储在表的两个字段中

比如说

nameTxt、ageTxt、genderRdo、agreeChk xxx,25,M,是的

然后,您可以使用

$csvExplode=explode(“,”,$fetchedData)

如果希望存储样式信息,最好再创建一列,并存储其中每个字段的样式信息


希望这能有所帮助

使用像MongoDB这样的NoSQL来存储证书怎么样?这对您有用吗?

如果我理解正确,您尤其需要寻找一种将用户数据保存到数据库的方法,如前所述,您可以将数据库引擎更改为NoSQL dbe,或将数据导出为CSV、JSON,或使用php serialize()函数

如果您想拥有真实的字段名,可以使用多个表来存储数据。主表只有证书的类型和另一个表中真实数据的id,该表保存特定证书的数据(可能还有一些常规数据,例如时间戳)


这种方法并不完美,需要更多的PHP代码并从多个表中获取类似的数据,但这是我更喜欢的方法。

将数据存储在多维数组中,然后使用PHP serialize()如何函数将其放入数据库?

您可以使用ZendFramework或类似工具中的表单模块生成表单,然后序列化对象并将其存储到数据库中。然后您将在验证中获得buildt,用数据库中的数据填充该表单将非常简单。

创建一个包含以下字段的表:

  • ID-主键/自动递增
  • 字段名
  • 字段类型
  • 必需(正确/错误)
  • 然后,您可以简单地将这些值存储在单独的表中:

  • 身份证
  • FK_Field_ID-指字段表
  • 您还可能有一个引用字段表的表单表

    接下来,我建议您构建一个fields类,即CreateTextInput、CreateNumberInput等。我通过重载这些方法完成了这一点。很抱歉,我无法共享代码,这是为客户提供的

    希望这有帮助,
    IgnitedCoder.com

    我可能还没有完全理解您的问题,您是否想要一些“模块化”表单字段,可以根据不同的证书拼凑在一起?(例如cer.1需要3个输入文本和1个复选框,cer.2需要2个文本字段和2个选择框,依此类推)是-然后存储由此生成的数据。因为我必须假设表单永远都不一样,所以我需要将数据和表单并排存储。我不喜欢“存储在存储中”的外观,但实际上它可以工作。如果必须是传统的关系数据库,我更喜欢一个带有字段名的表,另一个带有与相应字段名相关的值。