Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara mendapatkan 7 hari terakhir menggunakan PHP

Cara paling kuat untuk melakukannya adalah dengan menggunakan DateTime bukannya 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

Sekarang, Anda dapat membentuk susunan tanggal seperti ini:

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

menginisialisasi array Anda untuk sesuatu seperti:

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)
}

Sekarang Anda memiliki larik dengan semua kemungkinan tanggal dalam 7 hari terakhir, dan Anda dapat melakukannya di loop Anda:

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

Anda tidak perlu memeriksa apakah kunci array ada, karena dijamin ada.

Akhirnya, saya akan merekomendasikan melihat ke DATETIME atau jenis kolom tanggal/waktu terkait lainnya, karena akan lebih berguna di sini daripada menyimpan cap waktu UNIX. Anda dapat menggunakan fungsi tanggal/waktu MySQL untuk memilih baris yang Anda cari dengan benar daripada harus membuat stempel waktu UNIX setiap kali Anda ingin meminta data berdasarkan waktu.




  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 pilih/masukkan/perbarui, apakah urutan kolom penting?

  2. Bagaimana cara mengubah semua tabel dalam database menjadi satu susunan?

  3. Bagaimana cara menghitung hari antara dua tanggal di PHP?

  4. Migrasi masalah dan pertanyaan MySQL UTF8 ke UTF8MB4

  5. ADDTIME() mengembalikan waktu 24 jam