Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पीडीओ पीएचपी - 2 तिथियों के बीच सभी पंक्तियों का पता लगाएं - खाली दिखाता है

DATE_FORMAT() एक स्ट्रिंग देता है, तारीख नहीं। BETWEEN . को 3 स्ट्रिंग तर्क पास करना ... कौन जानता है कि वह क्या लौटाएगा।

अपने कोड को अन-अस-बैकवर्ड करने के लिए, इसका उपयोग करें:

$week_start = date('Y-m-d',time()+( 1 - date('w'))*24*3600);  
$week_end =  date('Y-m-d',time()+( 7 - date('w'))*24*3600); 

अपनी तिथियों को mySQL की अपेक्षा के अनुसार प्रारूपित करने के लिए, और:

WHERE 
  start_date BETWEEN '".$week_start."' AND '".$week_end."'

क्वेरी में।

या यदि आप एक वस्तु-उन्मुख दृष्टिकोण पसंद करते हैं, तो कुछ इस तरह करें:

$week_start = new DateTime; 
$week_end = new DateTime;
$week_start->setTimestamp(time()+( 1 - date('w'))*24*3600)); 
$week_end->setTimestamp(time()+( 7 - date('w'))*24*3600);

फिर अपनी क्वेरी में करें:

WHERE 
  start_date 
      BETWEEN '".$week_start->format('Y-m-d')."'
      AND '".$week_end->format('Y-m-d')."'

फिर बाकी सब चीजों के लिए, आप अपनी इच्छानुसार प्रारूप को प्रतिध्वनित कर सकते हैं:

echo $date->format('d-m-Y'); // etc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक MySQL तालिका में आपके पास कितने कॉलम (अधिकतम) हो सकते हैं?

  2. SQL क्वेरी परिणाम व्यवस्था समस्या

  3. 2 कॉलम चुनें और डेटा मर्ज करें

  4. JUser::_load:उपयोगकर्ता को लोड करने में असमर्थ, हालांकि उपयोगकर्ता सभी 3 मुख्य जूमला तालिकाओं में मौजूद है

  5. मेरे php को बिना दोहराए mysql में इनपुट करें?