Seperti yang sudah kita ketahui, PHPMaker menggunakan extension JSCalendar (Popup Calendar) untuk membantu Pengguna saat menginput data Tanggal dan Jam sekaligus. Secara standar, JSCalendar akan otomatis mengambil nilai Jam, Menit, dan Detik saat Pengguna memilih Tanggal dari jendela kalender tadi.
Kadang-kadang, ada Client yang tidak menginginkan nilai Jam, Menit, dan Detik tadi. Mereka ingin agar nilai waktu tersebut secara standar otomatis berubah menjadi 00:00:00. Jadi, ketika misalnya Pengguna memilih tanggal 4 April 2016, maka nilai pada field tersebut adalah 2016/04/04 00:00:00.
Beruntunglah Anda jika membangun Aplikasi Web dengan menggunakan PHPMaker. Karena kita dapat dengan mudah mengubah nilai standar waktu tadi menjadi 00:00:00. Katakanlah kita memiliki field MyDateTime di suatu table.
Cukup dengan menambahkan kode jQuery berikut pada bagian Startup Script yang terdapat di lokasi ini: Client Scripts -> Table-Specific -> Add/Copy Page dan juga pada Client Scripts -> Table-Specific -> Edit Page, sehingga kode selengkapnya menjadi seperti ini:
// Write your table-specific startup script here // document.write("page loaded"); $(document).ready(function() { $("#x_MyDateTime").change(function() { var str = this.value; var res = str.slice(0, -8); res = res + "00:00:00"; $("#x_MyDateTime").val(res); }); });
Pastikan Anda sudah mengaktifkan extension JSCalendar dari menu Tools -> Extensions -> Popup Calendar. Pastikan juga pilihan Use date/time picker pada field MyDateTime dari tab Fields -> panel Edit Tag -> Validation sudah diaktifkan.
Terakkhir, generate ulang semua file script seperti biasa menggunakan PHPMaker. Setelah itu, cobalah jalankan Aplikasi Web menggunakan browser, tambahkan data baru pada table tadi. Klik icon kalendar di sebelah kanan field MyDateTime tadi, lalu pilih salah satu tanggal yang Anda inginkan.
Perhatikanlah sekarang nilai waktu di field MyDateTime, seharusnya sudah berubah menjadi 00:00:00.
Betapa mudah dan cepatnya, bukan? 🙂
ribut s mengatakan
saing pak masino…
bila menggunakan jscalendar di kolom langsung muncul tanggal input data hari ini gimana caranya ya pak…..seumpama sya add order data input baru disitu ada kolom tanggal user tidak usah memilih tanggal tp sistem yang memilih tanggal hari ini muncul dikolom….mohon bantuanya pak….sy udah coba dengan auto update value datetime dikolom add datetime tidak muncul.
Masino Sinaga mengatakan
Artikel ini seharusnya bisa membantu: Mudahnya Memperbarui 4 Field Ini Secara Otomatis di Aplikasi Web dari PHPMaker.
angga mengatakan
@ribut s : kalo saya sih pakai cara ini :
function Row_Rendered() {
$get_hari = ew_ExecuteScalar(“SELECT DAYNAME(NOW())”);
$get_tgl = date(“d/m/Y”);
if (CurrentPageID() == “edit” && $this->CurrentAction != “F”) {
if ($this->hari->EditValue = $this->hari->CurrentValue){
$this->hari->ReadOnly = TRUE;
}
if ($this->tgl->EditValue = $this->tgl->CurrentValue){
$this->tgl->ReadOnly = TRUE;
}
}
if (CurrentPageID() == “add” && $this->CurrentAction != “F”) {
$this->hari->EditValue = $get_hari;
$this->tgl->EditValue = $get_tgl;
}
}
@pak masino : saya tanya lagi pak 🙂 kalau otomatis tanggal bulan kemaren yg sudah di tentukan gimana yah pak. misalkan tanggal yg di tentukan tiap bulannya adalah 23 jadi 23/03/2014 jika sekarang bulan april, jika nanti bulan mei jadi 23/04/2016. saya coba seperti ini SELECT NOW() – INTERVAL 1 MONTH ketemunya jadi 04/03/2016 🙁
makasih pak
Masino Sinaga mengatakan
Database-nya apa?
Masino Sinaga mengatakan
Coba seperti ini:
Tinggal ganti aja nilai bulan dan tahun di atas dengan nilai berjalan saat ini dari script PHP.
angga mengatakan
database mysql pak. kalo pake cara itu barti manual dong pak ngga bisa automatis saat ganti bulan dong 🙁 bener ngga tuh pak
Masino Sinaga mengatakan
Seperti yang sudah saya bilang di komen sebelumnya, Anda bisa membuatnya menjadi otomatis dengan mengambil nilai tahun dan bulan berjalan menggunakan kode PHP. Jadi, SQL itu dieksekusi menggunakan fungsi ew_Execute() dari PHP.
ribut s mengatakan
ok…tq
angga mengatakan
akhirnya date_format yg saya pakai pak 🙂
SELECT DATE_FORMAT(NOW(),’%Y-%m-23′) – INTERVAL 1 MONTH
terima kasih pak
Masino Sinaga mengatakan
Sama-sama.
angga mengatakan
gimana caranya yah pak kalo temuin hari pada tanggal yg di klik muncul pada teksbox hari 😀
Masino Sinaga mengatakan
Ya tinggal periksa aja tanggalnya, bandingkan dengan tanggal hari ini.
angga mengatakan
ga berfungsi udah otak atik pak 😀
Masino Sinaga mengatakan
Fungsi strtotime itu milik PHP, tidak ada di jQuery atau Javascript.
angga mengatakan
jadi bagaimana pak solusinya udh coba2 ga kena aja masih lemah jquery 😀
Masino Sinaga mengatakan
Solusinya: Cari di Google dan banyak berlatih. Dijamin jadi gak lemah lagi. 😀
angga mengatakan
rada keder sama jquery bawaan phpmaker pak. kalo tipe jquery yg lain masih agak bisa 😀
Masino Sinaga mengatakan
Kenapa harus keder? jQuery yang digunakan oleh PHPMaker juga digunakan oleh web lain.