Mengambil data di Database dalam jangka waktu tertentu

SQL Language, Web Programming

bagikan postingan ini...Share on email
Email
Share on facebook
Facebook
Share on google
Google
Share on twitter
Twitter
Share on linkedin
Linkedin

Kali ini saya akan menunjukkan bagaimana cara mengambil data dari database berdasarkan kurun waktu tertentu.
Permasalahan ini saya hadapi ketika ingin menghitung pengunjung pustaka di e-campus.fkip.unja.ac.id/pustaka. Saya ingin melihat, berapa sih total kunjungan ke sistem dan rata-rata kunjangan per hari dan per bulan.

Untuk catatan, pada aplikasi ini setiap mahasiswa dan dosen yang mengunjungi pustaka diharuskan untuk mengisi buku tamu yang ada di sistem tersebut. Struktur database nya kira-kira seperti ini

Name Type
id int
iduser varchar
tanggal timestamp

Kemudian, kita definisikan jangka waktu yang akan kita ambil datanya. Disini saya akan mengambil dimulai dari empat bulan yang lalu sampai bulan yang lalu (totalnya 3 bulan). Jika bulan sekarang adalah bulan Oktober, maka data yang diambil adalah dari bulan Juli sampai September. Fungsinya yaitu:

$bulan_sekarang= date('Y-m');
$date = new DateTime($bulan_sekarang); //digunakan untuk mencari 1 bulan yang lalu
$date2 =  new DateTime($bulan_sekarang); //digunakan untuk mencari 4 bulan yang lalu
$interval = new DateInterval('P4M'); //untuk mengambil interval waktu 4 bulan
$interval2 = new DateInterval('P1M'); //untuk mengambil interval waktu 1 bulan

$date->sub($interval);
$empat_bulan_lalu = $date->format('Y-m');

$date2->sub($interval2);
$satu_bulan_lalu = $date2->format('Y-m');

Output yang dihasilkan akan dalam bentuk TTTT-BB. Pada kasus sekarang, maka output dari nilai variabel tersebut yaitu:

$empat_bulan_lalu = "2016-07";
$satu_bulan_lalu = "2016-09";

Kemudian kita gunakan variabel tersebut di query sql untuk pemanggilan data.

$query = $this->db->query("select * from pengunjung where mid(tanggal, 1,7) >= '$empat_bulan_lalu' and mid(tanggal, 1,7) <= '$satu_bulan_lalu'");

Jika ditampilkan, maka query tersebut akan menampilkan daftar pengunjung dalam jangka waktu yang telah kita tentukan didalam query tersebut.

bagikan postingan ini...Share on email
Email
Share on facebook
Facebook
Share on google
Google
Share on twitter
Twitter
Share on linkedin
Linkedin

Leave a Reply

Your email address will not be published. Required fields are marked *

two × four =