我已经做了一些挖掘并且找不到类似的问题,我发现有些像'{3}}之类的“在线表格”中的一些较大的名字可以“部分保存”但是我们无法找到有关如何实现它的任何信息。
我的方案: 表格适用于后台工作人员,工作人员正在填写表格,他们遇到了一个他们需要做一些调查才能完成的领域,而不是强迫他们现在去找它(可能在开始寻找所述信息的时候太迟了,我想提供将表格保存在当前状态的能力,并且能够在顾问有信息继续后再召回它。
我可以创建表单,我可以创建部分保存按钮,并且稍后可以使用PHP / MySQL调用它没问题,但是从SQL角度处理部分保存的最佳方法是什么?
用户将始终通过系统进行身份验证,因此保存他们的信息以便以后恢复不是问题。
我发现SurveyMonkey让我调查了this question,但我希望工作人员能够同时激活多个表单,这样他们就可以开始一个新表单而不必被迫完成目前的第一个。
关于如何解决这个问题的一些想法......
0
表示部分完成,1
表示完整,但这意味着我的所有字段都需要可以为空,这是一个设计缺陷吗?所以我的问题是,最好的方法是什么?做任何类似事情的人都有经验吗?
答案 0 :(得分:3)
在我看来,有一个标志为“已完成”(真/假)的列是最好和最简单的想法。从技术角度来看,存在可空值是没有问题的。它没有任何恶化。
如果存在逻辑问题,您可以 - 在更改此标志之前 - 禁止NULL
值。这可以通过PHP(验证表单数据)或SQL(触发器)来完成。
这比拥有另一个表简单得多,因为你需要一个良好的管理系统,所以你要确保两个表中没有任何共同点。在一个表格中拥有所有内容后,您就可以SELECT
所有记录完成,所有记录都没有完成,如果没有这些神奇的JOIN
和UNION
内容。