Backend website (delete tapi aslinya update)

Gw udah bikin sistem CRUD untuk web. Nah ternyata fungsi deletenya itu hanya untuk menonaktifkan data pada tabel di web tsb namun datanya itu masih ada pada databasenya. Jadi pembimbing PKL gw maunya itu delete tapi mengupdate datanya jadi nonaktif doang nggk bener-bener hilang di database hilangnya di tabel webnya doang.

Isi databasenya :

id,nama,kapro_ganjil,kapro_genap,tahun_ajaran,edit_log,del_log,active_log

Gw kasih gambaran, misal pas kita ngedelete data di webnya pada saat jam 12.30 data tersebut hilang di webnya namun masih ada di databasenya.. nah si kolom del_log (pada database) itu otomatis munculin jam waktu kita ngedelete data pada tabel web.

Mohon bantuanya master, ini tugas PKL. Ilmu gw pas di sekolah belum sampe itu. Maaf jika ada salah kata.. Terimakasih

avatar Jihadazhar12
@Jihadazhar12

15 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

buat table backup,jadi ketika terjadi penghapusan pindahkan datanya ke table backup kasih field tanggal dengan type timestamp

avatar difitech
@difitech

5 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Tanggapan

gak bisa digituin, dia mintanya kalau pas datanya dihapus pada web, itu muncul tanggal dan jam pada kolom del_log (di database) dan juga datanya gk kehapus di database cuma di web doang. Kasaranya data tersebut di nonaktifkan di web jadi gak dimunculin lagi

buat field status type enum('aktif','nonaktif') ketika di klik delete terjadi perubahan field status menjadi nonaktif. untuk menampilkan datanya tinggal pake query like('status','aktif')

avatar difitech
@difitech

5 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

untuk standar pembuatan field, sih ada created_at, updated_at, dan deleted_at.. field tersebut bisa digunakan dengan fungsi sistem yang dimaksud agan.. rule tersebut sudah di support oleh framework Laravel,

tapi kalau agan makai PHP native atau framework lain, bisa diadaptasikan dengan alur seperti ini

  • field deleted_at berjenis timestamp, dengan default value NULL
  • jika data tersebut dihapus, tanggal dan waktu penghapusan akan tersimpan pada field deleted_at
  • data yang ingin ditampilkan pada web ditambahkan "WHERE deleted_at == NULL"
avatar BagusAulia
@BagusAulia

12 Kontribusi 4 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban