आपके पास उनके द्वारा चुने गए टाइमस्केल के आधार पर इसे प्रबंधित करने के लिए 2 विकल्प हैं।
-
विज्ञापन के साथ समाप्ति समय संगृहीत करें और समाप्ति शामिल करें> अभी (); विज्ञापनों का चयन करने के लिए किसी भी प्रश्न में (इस प्रकार एक 'सक्रिय' फ़ील्ड की आवश्यकता को नकारता है।
-
इसे प्रबंधित करने के लिए किसी ईवेंट का उपयोग करें।
विधि 1 के लिए कुछ व्यवस्थापकों को समय-समय पर 'विज्ञापनों को साफ' करने की आवश्यकता हो सकती है।
विधि 2 - आप अभी तक एक प्रक्रिया में ईवेंट नहीं बना सकते हैं (पिछली बार मैंने जाँच की थी) लेकिन वे आपको अन्य जाँचों और क्या-क्या नहीं चलाने के बिना इस तरह के व्यवस्थापक कर्तव्यों को सेट करने और भूलने की अनुमति देते हैं।
प्रत्येक ईवेंट का एक विशिष्ट नाम होना चाहिए अन्यथा आप पहले से निर्दिष्ट ईवेंट को समाप्त कर देंगे...
उदाहरण:
<?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);
?>
ईवेंट को mysql डेटाबेस में संग्रहीत किया जाता है, न कि आपके अपने, इसलिए आपको लागू करने के लिए कुछ व्यवस्थापक स्तर की अनुमतियों की आवश्यकता होती है।