Melanjutkan postingan sebelumnya tentang membuat form input untuk banyak tanggal dengan jQuery Multi Datepicker, kali ini kita akan membuat function PHP untuk mencari tanggal satu hari kerja selanjutnya, dengan men-skip tanggal hari libur yang sudah direkam.

Berikut function PHP-nya :

Function cek_libur.php

Penjelasan Function cek_libur :

  1. Baris ke-1, function cek_libur($tgl,$th) {… Function cek_libur ini membutuhkan 2 parameter yaitu tanggal dan tahun.

  2. Baris 2 s.d 12, Baris ini merupakan kode koneksi ke MySQL. Di sini saya menggunakan PDO. Teman-teman bisa menggunakan mysqli dll.

  3. Baris 14 s.d 17, Query ambil data hari libur berdasarkan tahun dari tanggal yang dimasukkan ke dalam function.

  4. Baris ke-18, Karena data tgl_libur yang kita simpan pada postingan sebelumnya berupa string (2017-09-01,2017-09-02,2017-09-03 dst), di baris ini kita akan mengubah data tgl_libur hasil query tersebut menjadi format array.

  5. Baris ke-20, Cek apakah tanggal yang dimasukkan ke dalam function ada di dalam array tgl_libur. Di sini saya menggunakan tenary operator untuk menyingkat penulisan if. Jika ada, maka hasilnya 1, jika tidak ada maka hasilnya 0.

  6. Baris ke-22, Output dari function ini, bisa 0 atau 1

Sesuai namanya, function cek_libur diatas digunakan untuk ngecek apakah tanggal yang dimasukkan ke dalam function termasuk hari libur atau tidak. Next kita akan membuat satu function lagi untuk mencari tanggal hari kerja berikutnya.

Function cari_tgl_kerja.php

Penjelasan Function cari_tgl_kerja :

  1. Baris ke-1, function cari_tgl_kerja($tgl) {… Function ini hanya membutuhkan 1 parameter yaitu tanggal.

  2. Baris ke-2, membuat variable baru yaitu $tanggal_pelaporan, yang merupakan tanggal parameter ditambah 1 hari (tanggal berikutnya).

  3. Baris ke-3, selanjutnya membuat variable tahun ($th), merupakan tahun dari tanggal_pelaporan.

  4. Baris ke-4, variable $jml_libur, merupakan hasil dari function cek_libur() dengan parameter tanggal_pelaporan dan tahunnya.

  5. Baris 5 dan 6, jika hasil cek libur 0, maka outputnya berupa variable tanggal_pelaporan itu sendiri.

  6. Baris 7 dan 8, jika tanggal_pelaporan masuk dalam tanggal hari libur, maka ulangi function cari_tgl_kerja ini, namun dengan parameter yang baru, yaitu $tanggal_pelaporan. Sehingga function ini akan terus bekerja sampai menemukan hasil cek_libur 0.

Penggunaan :

 

Ok sampai di sini dulu postingan kali ini, semoga bermanfaat. Terima kasih telah berkunjung, please share, rate, comment, follow sosmed kami, karena itu bisa nambah semangat dan membuat kita semua bahagia… Hehehe…

DEMO