我有一张没有字段的表格。
现在,单击一个按钮“另存为草稿”,ajax调用将执行,弹出的字段将存储在数据库中。
但是当用户再次单击“另存为草稿”时,这次应该更新上一个字段,而不是创建新字段。
所以我想了些补救措施
-创建一个隐藏字段,并在加载页时用唯一的数字加载它,并将其存储在会话变量中。
在将唯一数字与会话变量进行比较之后,如果数字相同,则更新sql中的字段,或者在sql中创建一个新字段。
上面的解决方案可以吗?还是人们使用不同的解决方案?
最佳答案
为什么不,在第一次调用“save draft”时,检索一些非常简单的json,比如
{ field_id: 1 }
然后将该值保存在dom中,方法是将其放在输入中,或者更好的方法是将其存储在变量中。然后,可以在随后的草稿/最终保存中检查该变量是否存在,并将ajax日志更改为该变量的帐户。您可以在表中添加一个boolean列,比如跟踪post阶段的
final
。从服务器端的角度来看,通过调用MySQLi's insert_id() method可以很容易地获得mysql insert的值。一个非常好的附加操作可能还涉及使用
pushState
方法更新url(例如到index.php?draft=1
)。这样,即使用户单击了后退按钮,他们也可以返回到正确的页面,您可以为他们提取保存的数据。关于php - 保存为草稿然后更新草稿?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17887959/