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

PHP का उपयोग करके पिछले 7 दिनों को कैसे प्राप्त करें

इसके बारे में जाने का सबसे मजबूत तरीका DateTime . का उपयोग करना है strtotime . के बजाय :

$now = new DateTime( "7 days ago", new DateTimeZone('America/New_York'));
$interval = new DateInterval( 'P1D'); // 1 Day interval
$period = new DatePeriod( $now, $interval, 7); // 7 Days

अब, आप अपनी तिथियों की सारणी इस प्रकार बना सकते हैं:

$sale_data = array();
foreach( $period as $day) {
    $key = $day->format( 'M d');
    $sale_data[ $key ] = 0;
}

यह आपके एरे को इनिशियलाइज़ करता है कुछ इस तरह के लिए:

array(8) {
 ["Jun 18"]=>      int(0)
  ["Jun 19"]=>      int(0)
  ["Jun 20"]=>      int(0)
  ["Jun 21"]=>      int(0)
  ["Jun 22"]=>      int(0)
  ["Jun 23"]=>      int(0)
  ["Jun 24"]=>      int(0)
  ["Jun 25"]=>      int(0)
}

अब आपके पास पिछले 7 दिनों में सभी संभावित तिथियों के साथ एक सरणी है, और आप इसे अपने लूप में कर सकते हैं:

$display_date = date('M d', $sale['created']);
$sale_data[$display_date] += $sale['amt'];

आपको यह जांचने की आवश्यकता नहीं है कि सरणी कुंजी मौजूद है या नहीं, क्योंकि इसके अस्तित्व की गारंटी है।

अंत में, मैं DATETIME को देखने का सुझाव दूंगा या अन्य संबंधित दिनांक/समय कॉलम प्रकार, क्योंकि वे यहां UNIX टाइमस्टैम्प को संग्रहीत करने की तुलना में अधिक उपयोग के होंगे। हर बार जब आप समय के आधार पर डेटा के लिए क्वेरी करना चाहते हैं तो UNIX टाइमस्टैम्प बनाने के बजाय आप जिन पंक्तियों की तलाश कर रहे हैं, उन्हें ठीक से चुनने के लिए आप MySQL दिनांक/समय फ़ंक्शन का उपयोग कर सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:IN खंड के साथ पैरामीटरयुक्त क्वेरी शून्य मान लौटाती है

  2. पसंदीदा MySQL उपकरण

  3. बड़े PHP Arrays पेजिनेशन

  4. एक चुनिंदा क्वेरी में दो तालिकाओं के समान फ़ील्ड नामों के बीच अंतर कैसे करें?

  5. फ्लैटफाइल्स पर MySQL का उपयोग क्यों करें?