我有一個領域很少的表格。 現在點擊一個按鈕「另存爲草稿」,ajax調用就會結束,並且已經出現的字段將被存儲在數據庫中。另存爲草稿然後更新草稿?
但當用戶點擊「保存爲草稿」了,那麼這個時候一字段應該更新,而不是一個新的領域創建。
所以我想一些補救
- 。製作一個隱藏字段並在加載頁面時使用唯一編號加載它,並將其存儲在SESSION變量中。
而唯一編號與會話變量比較,如果該號碼是相同的,然後在SQL更新字段或者在SQL創建一個新的後場。
是上述方案確定或人用不同的一個?
我有一個領域很少的表格。 現在點擊一個按鈕「另存爲草稿」,ajax調用就會結束,並且已經出現的字段將被存儲在數據庫中。另存爲草稿然後更新草稿?
但當用戶點擊「保存爲草稿」了,那麼這個時候一字段應該更新,而不是一個新的領域創建。
所以我想一些補救
- 。製作一個隱藏字段並在加載頁面時使用唯一編號加載它,並將其存儲在SESSION變量中。
而唯一編號與會話變量比較,如果該號碼是相同的,然後在SQL更新字段或者在SQL創建一個新的後場。
是上述方案確定或人用不同的一個?
爲什麼不,第一個Ajax調用「保存草稿」檢索回一些非常簡單的JSON如
{ field_id: 1 }
然後保存保存在DOM該值,方法是將它的輸入,或更好 - 只需將其存儲在一個變量中。然後,您可以在隨後的草稿/最終保存中檢查此變量的存在,並更改您的Ajax帖子以對其進行解釋。您可以在表格中添加一個額外的布爾列,例如final
,用於跟蹤帖子的階段。從服務器端的角度來看,您可以通過調用MySQLi's insert_id() method(例如)來輕鬆獲得MySQL插入的值。
一個非常好的附加觸摸可能還涉及使用pushState
方法來更新URL(例如到index.php?draft=1
)。這樣,即使用戶點擊了後退按鈕,他們也可以返回到正確的頁面,並且可以爲他們保存已保存的數據。
哦,你的JavaScript的方式,我完全忘了它! – Santosh
1解決方案 =再次提交時,如果符合您的值,則沒有變化別人做出改變,所以你可以更新的MySQL添加字段的值到一個數據庫表 =比較值。
2 Solition =其他解決方案可以將數據存儲在會話中,當用戶完成編輯後,將它們添加到DBase tbl。
3解決方案 存儲數據到任何平面文件系統,然後用它來在MySQL表中添加。
4解決方案 允許編輯字段的形式使用戶可以更改數據,如果他想隨時進行編輯。
如果你在你的數據庫中自動遞增的字段,你可以得到該字段的ID。當用戶保存爲草稿時,可以將更改存儲在數據庫中,並將記錄的ID存儲在會話中。然後,當用戶再次保存爲草稿時,可以使用該標識更新數據庫中的右側行。
您可以將ID存儲在表單中,但用戶可能很容易(可能偶然)使用錯誤的ID發佈數據並更新錯誤的行。
請添加代碼,以顯示你的情況是什麼。 –
這不是一個代碼問題我問如何確定草稿是否需要更新或創建新的草稿。我寫了一個我想過的解決方案,但我想了解其他人做的事情。 – Santosh
我正在研究一個具有類似功能的項目。我使用隱藏的ID字段並以此方式識別它。 –