Anda memiliki 2 opsi untuk mengelola ini berdasarkan skala waktu yang mereka pilih.
-
Simpan waktu kedaluwarsa dengan iklan dan sertakan kedaluwarsa> SEKARANG(); dalam kueri apa pun untuk memilih iklan (jenis ini meniadakan persyaratan untuk bidang 'aktif'.
-
gunakan acara untuk mengelola ini.
Metode 1 mungkin memerlukan beberapa admin untuk 'membersihkan iklan' secara berkala.
Metode 2 - Anda belum dapat membuat acara dalam prosedur (terakhir kali saya memeriksa) tetapi mereka memungkinkan Anda untuk mengatur dan melupakan tugas admin semacam ini tanpa harus menjalankan pemeriksaan lain dan yang tidak.
Setiap acara harus memiliki nama unik jika tidak, Anda akan mematikan acara yang telah ditentukan...
contoh:
<?php
$qry = "insert into ads values ( 'x', 'y', 'z' );";
/* db execute qry (pdo or what ever) */
$adId = // retriev a unique reference for ad.
$days = $_POST['expire'] == 16 ? 16 : 8;
$qry = "CREATE EVENT updateAd_".$adId."
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL ".$days." DAY
ON COMPLETION NOT PRESERVE
DO
update ads set active = 'false' where ad_id = ".$adId.";";
// db execute qry (pdo or what ever);
?>
Acara disimpan dalam database mysql dan bukan milik Anda sehingga Anda memerlukan beberapa izin tingkat admin untuk mengimplementasikannya.