gpt4 book ai didi

php - 将表格结构化表格数据存储到数据库中 - 正确的方法是这样做吗?

转载 作者:行者123 更新时间:2023-11-29 00:38:50 25 4
gpt4 key购买 nike

这将是一篇很长的文章,所以请多多包涵。我很擅长 PHP,但我在数据库设计方面的知识很差。我正在研究它,因为我意识到在使用应用程序时掌握设计数据库的命令是最重要的事情,如果掌握了它,事情就会变得如此容易。发起这个帖子也是因为我对数据库交互的认识比较薄弱。

我基本上有大约 40 个表单,其结构类似于下图:

Form structure

列数和行数因一种形式而异,但它们或多或少地遵循如上所示的类似结构。

我打算实现什么

  • 使用单个/相同的 php 页面进行处理(即,将数据插入数据库)所有 40 种形式。换句话说,我打算使用相同的 <form
    action="process.php">
    对于所有表格。
  • 避免硬编码;将代码保留在 process.php 中和动态一样多可能。

路障

  • 每种形式的参数数量各不相同,所以我需要找出一个找出每个表单中存在的行数的方法。
  • 发现很难决定如何命名元素(单选正在使用的按钮、复选框、下拉菜单、文本区域、文本框等)在表格中。
  • 我无法弄清楚如何继续插入。一次插入一行似乎是合适的,但是我将如何实现这一目标?例如,如果我使用循环,在第一个与Ambiance相关的迭代数据应该插入。在里面与TV Room相关的第二个循环数据应该插入等等。问题是如何相应地编码?

我在想什么

  • 表格的列(参数,满足要求,观察,status, remarks)成为MySql表的字段。

  • 然后使用循环在表中一次插入一行。

  • 使用数组来命名表单中使用的元素。例如,氛围[要求],氛围[观察],氛围[状态],第一行中的元素的氛围 [备注] 和房间[要求],房间[观察],房间[状态],房间[备注]第二行等等。然后插入可以在一行中完成通过使用 INSERT INTO tablename (implode(',', array_keys($ambiance)))
    VALUES (implode(',', $ambiance))

这不是什么

  • 要求提供/邮政编码。

  • Give me teh codez不是我的操作方式。我只是在寻找有关如何完成任务的说明。

这是关于什么的

  • 寻求建议。

  • 确定我的方向是否正确。

  • 询问是否有替代方法。

最佳答案

我做过类似但不完全相同的事情。我使用了这两个表:

  • 表格
    • 身份证
    • 姓名(例如反馈、评论、调查)

  • 表单域**
    • 身份证
    • 表格编号
    • 标题(例如姓名、公司、地址)
    • 副标题(例如输入您的全名)
    • 必需
    • 数据类型(例如整数、数字、字符串、电子邮件)
    • 最大长度

** 查看数据库表的架构以获得更多想法。

在您的情况下,您需要另一对表:

  • 表单提交
    • 身份证
    • 日期

  • FormSubmissionValues
    • 身份证
    • 表单提交ID
    • FormFieldID(可用于推断FormID,也可在FormSubmission表中添加FormID)
    • 值(一个足以容纳任何值的字段)

有几个问题。我会记下一些:

  • UI 需要根据数据类型而有所不同(整数/数字的 10 个小字符输入, bool 值的复选框,文本的文本区域)
  • 不确定如何处理列表框。也许你需要另一张 table 来做这个
  • 您无法正确使用索引,因为所有内容都存储在通用文本字段中
  • 客户端验证是可能的,但很困难
  • 表格需要非常通用。根据我的经验,这需要额外的努力来确保 x 适用于所有 y

关于php - 将表格结构化表格数据存储到数据库中 - 正确的方法是这样做吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13173950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com