PHPとMySQLを使用して元に戻すボタンを実装しようとしています。たとえば、ユーザーが投稿や一般的なアイテムを削除した場合、そのMySQLクエリを元に戻し、投稿をそのままにしておくオプションがあります。前もって感謝します。
3 に答える
物事を行うにはフラグ列が必要です。たとえばdel_flag
、ユーザーがレコードを削除する場合は、このフラグを に1
設定し、元に戻す場合は に設定し0
ます。
明確にするために、MySQLデータベースから行を削除すると、「元に戻す」ことはできません。アイテムが削除されると、元に戻すことはできません。
したがって、この「元に戻す」機能を模倣するには、(別の回答ですでに提案されているように)投稿が削除されたかどうかを追跡する新しいフィールドをデータベーステーブルに作成する必要があります。Deleted
この新しいフィールドを呼び出して、2つの値のみを持つことができるとしましょう- yes
(削除されたことを意味します)とno
(削除されていないことを意味します)。
投稿が削除された場合、そのDeleted
フィールドにマークを付けyes
、投稿を非表示にして、削除されたように見せることができます(実際にはデータベースに存在している場合でも)。
同様に、ユーザーが「元に戻す」ボタンをクリックすると、Deleted
フィールドがに戻りno
ます。
PHPコードでは、Deleted
各投稿のフィールドの値を確認し、それに応じて投稿を非表示または表示する必要があります。
このような他の課題と同様に、複数の解決策があります。上記のアプローチがあなたが探しているものではなく、本当にデータベースから投稿を削除したい場合は、最初に削除された投稿を別のデータベーステーブルに保存することができます(もちろん、それへの参照を保持します、 「元に戻す」ボタンを使用した場合に復元できるように)、「メイン」データベースから投稿を削除します。
投稿を削除するときは、「ライブ」ではないことを示すだけです。次に、元に戻すには、もう一度「ライブ」としてマークします。
次に、クエリで、「ライブ」かどうかに基づいて結果をフィルタリングするだけです。