मैं PHP दिनांक/समय विधियों का उपयोग करना छोड़ दूंगा और MySQL पर एक क्वेरी देने पर भरोसा करूंगा जो दिखता है
SELECT * FROM table_name
WHERE date > CURRENT_DATE
OR (
date = CURRENT_DATE
AND
time > CURRENT_TIME
)
ORDER BY date ASC, time ASC LIMIT 1
OR यह सुनिश्चित करता है कि उसे सही रिकॉर्ड मिले अन्यथा TIME भाग ब्लॉक हो जाएगा यानी अगले दिन से 03:00 बजे परिणाम दिखाई देगा यदि वर्तमान समय 06:00 बजे था
मैं देख रहा हूं कि आप वहां टाइमस्टैम्प मानों का उपयोग कर रहे हैं ताकि आप हमेशा CURRENT_DATE के स्थान पर PHP दिनांक संख्यात्मक में पास कर सकें। यह
. की अंतिम स्क्रिप्ट देगा$timestamp_now = strtotime(date('d-m-Y')); //Creates a timestamp of the currect date
$sql = mysql_query('SELECT * FROM table_name
WHERE date > '.$timestamp_now.'
OR (
date = '.$timestamp_now.'
AND
time > CURRENT_TIME
)
ORDER BY date ASC, time ASC LIMIT 1') or die(mysql_error());
$data = mysql_fetch_array($sql);
मैं डेटाबेस को बदलने पर विचार करने की सलाह दूंगा यदि संभव हो तो केवल एक MySQL DATETIME फ़ील्ड के रूप में संग्रहीत करने के लिए, तब आप इस क्वेरी को केवल WHERE datetime > NOW()
में बदल सकते हैं। , लेकिन यह पूरी तरह आप पर निर्भर है। बस हमेशा MySQL की तारीख को PHPs की तुलना में अधिक तार्किक रूप से संभालते हुए पाया है।