Postingan lainnya
hapus isi tabel otomatis
Misalnya saya punya data pada tabel A, Saya ingin data yang sudah ada selama 2 hari akan terhapus otomatis. Sudah cari di google cuma menghapus semua isi tabel, Mohon bantuannya
11 Jawaban:
itu kayak penjadwalan ya ..?? seperti exxpired pada makanan
ikut nimbrung .. ini juga bisa di pake buat time limit bookingan tiket or hotel booking.
kalo ide aneh yang terpikir sih
jika tanggal hari ini - tanggal input => 2 actionya hapus data...
contoh sekarang tanggl 6may and kita input data tanggal 3 jadi
6-3=3 --->> ini udah memenuhi untuk hapus data. tapi kan cuma jalan kalo script di buka ya :D hahahahah
logika ane juga begitu gan,
klo hanya memperhitungkan tanggalnya saja (waktu di abaikan) bisa menggunakan mysql function DATEDIFF(exp1, exp2) agar gk kehapus semua databasenya, select id data yg lebih dari 2 hari tsb
DELETE FROM `tabelA` WHERE `id` IN (
SELECT * FROM (
SELECT `id` FROM `tabelA` WHERE DATEDIFF(CURRENT_DATE,`tgl masuk`) >= 2
) AS t2
)
jalankan file ini melalui cron job di server jadi script berjalan secara otomatis moga bisa membantu
Masih bingung penempatan, klo query saya seperti ini gimana naruhnya?
function hapus_data($id){ $query= "DELETE FROM blog WHERE id=$id"; return run($query); }
klo dengan query yg saya kasi, jadinya kurang lebih spt ini:
$conn = new MySQLI($db_host, $db_user, $db_pass, $db_name);
if($conn->connect_errno){
die ("ERROR: ".$conn->connect_errno);
};
function hapus_data(){
$sql ="DELETE FROM tabelA WHERE id IN (SELECT * FROM(
SELECT id FROM tabelA WHERE DATEDIFF(CURRENT_DATE, 'tgl masuk') >= 2) AS t2)";
if($conn->query($sql) === true){
return "Data berhasil dihapus";
} else {
return "Hapus data gagal";
}
}
klo sudah pakai query itu, tidak bisa dihapus manual ya mas, klo mau nyoba dalam waktu satu menit bagaimana? jd bisa lsg liat hasilnya berhasil atau tdk.
query sql yg saya kasi itu akan otomatis mencari data yg >= 2 hari lamanya trus menghapusnya jd gk perlu pilih manual. coba aja dulu query tsb di localhost, sy sudah coba dan berhasil klo mau dijadwalkan, jalanin scriptnya setiap 1x hari sekali, waktunya pas 12 malem/ditentukan sendiri
kalau mau dinamis coba aja tambahkan colom tanggal kadaluarsa di tabel A itu. jadi ntar querynya kalau data di colom tgl kadaluarsanya sama dengan hari ini (sysdate) maka data akan dihapus, jadi misal mau ganti batas waktunya gx perlu bongkar codingnya...
pakai scheduler atau cronjob yang akan mengeksekusi file php(file php utk menghapus data ditable), set waktu penghapusanya.