php - 使用 PHP 处理可扩展表单的可能方法有哪些?

标签 php javascript mysql forms

我有一个包含两个表的数据库,其中一个包含返回第一个表的外键。与此类似:

Table1
    id
    description
    some
    other
    information

Table2
    table1ID
    Some
    other
    information

对于每个 table1,table2 中可以有任意数量的条目。我需要创建一个表单,允许用户将新项目插入到表 1 和 2 中。我在许多项目中都遇到过这个问题。一方面,它可以保存 Angular 色扮演游戏的统计数据。表 1 是车辆表,表 2 保存有关车辆的每种武器的信息。

我可以想到两种方法来处理这个问题。一种是以一种形式显示所有信息,并使用Javascript允许用户根据需要为每种武器添加新的子形式。然后一次全部处理。然而,这有点难看,而且显然依赖于 javascript。所以对于那些关闭了javascript的人来说不太友好。

我能想到的另一种方法是拥有多个页面。第一页允许用户输入一般数据,然后他们可以点击下一步输入武器数据。每次他们下一次攻击时,他们都可以输入新的武器。最后,完全输入的车辆将显示给他们,他们将能够返回并编辑他们选择的每个部分,并在准备好后提交。

一方面,这种方式比第一种方式需要更多的处理。它涉及的内容要多得多。这需要将车辆创建的每个步骤添加到数据库中,以便在用户处理车辆时临时存储。它必须被标记为不完整。我必须创建某种 cron 作业来清理所有不完整的车辆。

另一方面,它不使用 JavaScript。

还有其他方法可以处理这样的情况吗?如果不是,这两种方法中哪一种被认为是更好的做法?有没有办法在第二种方法中保留表单页面之间的数据,而无需暂时将其添加到数据库中?

我可以使用的工具有 MySQL 数据库、PHP、javascript、html/css(显然)和 Linux 操作系统。

最佳答案

我会做的是使用javascript。从我的 Angular 来看,现在没有多少人关闭 javascript。

但是,如果您选择不使用 JavaScript,还有另一种方法可以避免额外的开销。

您可以尝试将第二个表结果集存储在 session 或 cookie 中。

让我们面对事实,HTTP 没有强大的数据持久化能力。

祝你好运!

关于php - 使用 PHP 处理可扩展表单的可能方法有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816323/

相关文章:

php仅从mysql检索随机行一次

mysql - 使用MySQL SELECT属性类似于Amazon的SimpleDB

php - MySQL数据库xampp

php - 为商店订单生成唯一的序列号

php - MySQL 到 Redis 在一个巨大的表上,如何加快速度?

向页面添加第二个脚本时出现 Javascript 问题

javascript - 从没有 ID 的其他女儿访问女儿 DIV

javascript - 具有多个参数的 knockout 点击绑定(bind)

javascript - 调整 HTML 容器元素的大小未正确调整子元素的大小

mysql - 寻找品味相似的客户,同时排除某些客户