Membuat Auto Deletion (Hapus Otomatis) Data Dengan Script PHP
September 10th, 2008 | by rosihanari |
Cetak Artikel Ini
Terima kasih mas Niko atas pertanyaannya di komentar di salah satu artikel yang saya posting, karena pertanyaan Anda telah memotivasi saya untuk membuat artikel ini. Baik para pecinta setia blog.rosihanari.net, kali ini saya akan memberikan tutorial bagaimana membuat script PHP untuk menghapus data secara otomatis setelah selang beberapa waktu (menggunakan satuan hari). Sebagai gambaran, misalkan hal ini kita terapkan di buku tamu (Maaf mas Niko, karena studi kasusnya tentang buku tamu. Untuk studi kasus berita sesuai request Anda, konsepnya sama kok). Dalam buku tamu tersebut, misalkan kita buat kebijakan bahwa lama postingan setiap entri buku tamu diset hanya tampil selama 3 hari. Setelah 3 hari, maka entri buku tamu tersebut akan terhapus secara otomatis dari database. Nah… kira-kira begitu gambarannya.
Konsep untuk membuat script auto deletion tersebut sangat simple, yaitu hanya memanfaatkan proses pengolahan waktu untuk mencari selisih antara waktu ketika data dientri dengan tanggal saat ini (current date). Dengan demikian untuk setiap data, harus diberi catatan waktu/tanggal kapan data tersebut dientri. Nah… jika selisih waktu tersebut melebihi batas waktu yang kita tentukan, maka jalankan proses penghapusan data.
OK… kita langsung saja buat script PHP untuk auto deletion ini dengan mengambil studi kasus tentang buku tamu. Terlebih dahulu kita siapkan tablenya:
1 2 3 4 5 6 7 8 | CREATE TABLE guestbook ( id int(11) auto_increment, nama varchar(20), email varchar(20), komentar text, tanggal date, PRIMARY KEY(id) ) |
Nah… dalam kasus ini dimisalkan sebelumnya kita sudah memiliki script untuk entri data buku tamu untuk pengunjung di web kita. Dan berikut ini contoh data yang sudah tersimpan dalam tabel di atas.
1 2 3 4 5 6 7 8 9 10 11 | INSERT INTO guestbook VALUES (1, 'Rosihan Ari', 'rosihanari@gmail.com', 'This site is great', '2008-06-01'), (2, 'Dwi Amalia', 'amalia@gmail.com', 'Hello...', '2008-06-05'), (3, 'Faza Fauzan', 'fauzan@fauzan.com', 'Great site dad...', '2008-06-08'), (4, 'Nada Hasanah', 'nada@hasanah.com', 'I love u dad', '2008-06-09'), (5, 'Muh. Ahsani Taqwim', 'ahsani@taqwim.com', 'Good job dad', '2008-06-10'); |
Setelah data dan tabel siap, selanjutnya kita bisa mulai membuat script auto deletionnya.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php // koneksi ke mysql mysql_connect("namahost","dbuser","dbpass"); mysql_select_db("dbname"); // setting timer $lama = 3; // lama data adalah 3 hari // proses penghapusan data $query = "DELETE FROM guestbook WHERE DATEDIFF(CURDATE(), tanggal) > $lama"; $hasil = mysql_query($query); ?> |
Perhatikan script di atas, terutama pada query SQL untuk penghapusan, bahwa syarat yang digunakan untuk penghapusan menggunakan function DATEDIFF(). Function ini digunakan untuk mencari selisih waktu (dalam satuan hari) antara current date dengan data yang ada dalam field tanggal pada tabel guestbook. Jika selisih hari tersebut melebihi lama waktu yang ditentukan (dalam hal ini 3 hari), maka data akan terhapus.
Misalkan tanggal hari ini adalah 10 Juni 2008 (2008-06-10), dan begitu script di atas dijalankan, maka data yang terhapus secara otomatis adalah record 1 dan 2.
Nah… mungkin di antara Anda ada yang menanyakan, berarti kita harus mengeksekusi script di atas tiap hari donk? dan menjadi semi otomatis jadinya. Mmmm.. hal ini bisa diatasi yaitu dengan mengincludekan script di atas ke halaman index atau bagian header situs Anda (dengan asumsi setiap hari ada pengunjung situsnya). Setiap kali orang mengunjungi situs Anda, pasti secara otomatis akan menjalankan script di atas.
OK… saya kira demikian artikel ini dibuat. Untuk saran, pertanyaan dan diskusi silakan posting komentar di bawah ini. Sekali lagi terimakasih mas Niko atas pertanyaan sekaligus requestnya.
Beberapa artikel terkait
- Membuat Script PHP untuk Hapus Data dengan Multi Selection
- Membuat Paragraf Otomatis Dengan Script PHP
- Membuat Script PHP Untuk Auto Published Artikel Dengan Cron Jobs
- Script PHP untuk Mencari Selisih Waktu dan Tanggal
- Membuat Auto Hyperlink dengan Script PHP
- Membuat Script PHP untuk Rekap Data dari Data Mentah
- Script PHP untuk Menampilkan Data dalam Tabel dengan Warna Baris Selang-seling
- Script INSERT Data Dengan PHP dan MS. Access
- Ide Membuat Generator Kode Unik Incremental Otomatis
- Editing Data Tanggal via Form dengan PHP
Share this article on:
Kata kunci: PHP -
Pertama di Indonesia: "Murottal Al Qur'an + Terjemahan" dalam bentuk CD MP3 Original (
Rosihan Ari adalah seorang programmer, penulis buku, trainer, peneliti dan berusaha menjadi seorang blogger sejati dengan memberikan yang terbaik buat negeri ini. Berfokus pada computer programming serta computer aided learning for mathematics, ia ingin berbagi ilmu yang dimilikinya. 


web ini sangat membantu.
[deleted]
simple script, but it’s very useful, great
mas ko skript yang auto deletionnya g jalan sh??
mhon bantuannya,makasih sebelumnya
Mas saya mau nanya skrip untuk membuat edit dan hapus, saya sedang memnbuat website form isian biodata tapi kendalanya saya belum bisa menghapus dan mengeit datanya saya hanya bisa menginputnya saja, mohon bantuannya, terima kasih.
to najamudin: untuk edit data silakan baca artikel saya di http://blog.rosihanari.net/script-php-untuk-mengedit-data-via-form/
mas artikelnya2 bagus2..
mas..aq lagi buat web yang stand alone..
cuman aq lagi mentok di bagian upload file yang berexstension txt secara otomatis..misal,file itu berada pada folder yang sudah ditentukan.selama ini aq selalu manua dengan cara di file phpnya,aq browse file.txt itu trz klik button submit..berhasil deh data tersebut masuk ke mysql..cuman yang aq perlukan sekarang gimana caranya upload file .txt itu ke mysql secara otomatis tiap jam 6 pagi..ditunggu jawabannya ya mas ke email saya.makasih
to anis: wah saya belum bisa tuh mas
bos, query untuk menghapus posting yg lama di database wordpress bagaimana?, please help me
Postingan terakhir si plaza-iklan di blognya: Trading Forex (online) Bisnis Investasi Dengan Bonus Hingga $175/10 lot
to plaza-iklan: wah kategori posting yang lama itu bagaimana? kalau via admin panel atau dashboard kan bisa mas?
kal0 digabungin dengan ajax pasti lebih p0werfull pak, seperti c0unter pnghitung mundur di ujian 0nline jd g hrz nunggu 0rg untk meng execusi. at0 membuat refresh 0t0matis di website, jd ketika wkt hbs mka dia mnjalankn pr0gram refreshny