Pernahkah Anda menggunakan Global Function atau fungsi global yang terdapat pada sub-kolom Auto-Update Value di bawah kolom General dalam pengaturan Fields PHPMaker? Dengan menggunakan fitur ini, maka field yang bertalian tidak perlu diinput datanya oleh Pengguna ketika sedang memperbarui data. Artinya, field tersebut akan otomatis terisi nilainya dari nilai output fungsi global yang terpilih tadi.
PHPMaker sudah menyediakan beberapa fungsi global di bagian Auto-Update Value yang bisa Anda gunakan untuk mengisi nilai field tertentu pada saat data diperbarui yaitu sebagai berikut:
– CurrentUserName()
– CurrentUserID()
– CurrentParentUserID()
– CurrentUserLevel()
– ew_CurrentUserIP()
– ew_CurrentDate()
– ew_CurrentTime()
– ew_CurrentDateTime()
Sering kali Anda sebagai Web Developer juga harus membuat fungsi global sendiri untuk digunakan di pengaturan Auto-Update Value tersebut, selain menggunakan kedelapan fungsi global tadi. Pertanyaannya adalah, apakah bisa dan bagaimana caranya? Jawabannya tentu saja bisa! Bukan PHPMaker namanya jika tidak fleksibel. Sekaligus ini semakin membuktikan bahwa PHPMaker memberikan kesempatan yang sangat luas kepada Web Developer untuk berkreativitas, yang tentu saja dipandu oleh fitur yang sudah disediakan oleh PHPMaker.
Caranya sangatlah mudah. Hanya dibutuhkan tiga langkah saja untuk mengimplementasikannya ke dalam project PHPMaker Anda. Silahkan simak di bawah ini.
Langkah Pertama: Letakkan fungsi global yang Anda buat dari bagian Server Events -> Global Code. Ini hanya contoh saja (sesuaikan dengan fungsi global Anda):
function MasinoGlobalFunction() { $sText = ""; $sText = "Ini hanya fungsi global di Auto-Update Value."; return $sText; }
Langkah Kedua, klik menu Tools -> Advanced Settings, lalu tambahkan nama fungsi global Anda tadi diikuti dengan tanda kurung buka dan kurung tutup pada bagian Auto-Update values. Ingat, Anda harus menambahkan, dan bukan menimpa nilai yang sudah ada. Jadi, berhati-hatilah!
Karena di sana sudah ada beberapa fungsi global yang disediakan oleh PHPMaker sebagai berikut: CurrentUserName(), CurrentUserID(), CurrentParentUserID(), CurrentUserLevel(), ew_CurrentUserIP(), ew_CurrentDate(), ew_CurrentTime(), ew_CurrentDateTime(), maka Anda cukup menambahkan MasinoGlobalFunction() setelah function terakhir, yaitu: ew_CurrentDateTime() dan jangan lupa untuk memisahkannya dengan karakter koma.
Jadi, selengkapnya nilai di pengaturan tadi menjadi seperti ini: CurrentUserName(), CurrentUserID(), CurrentParentUserID(), CurrentUserLevel(), ew_CurrentUserIP(), ew_CurrentDate(), ew_CurrentTime(), ew_CurrentDateTime(), MasinoGlobalFunction().
Langkah Ketiga, kembali ke pengaturan Fields, lalu periksa di sub-kolom Auto-Update Value, maka seharusnya di sana sudah ada nama function MasinoGlobalFunction() yang berada di bagian paling bawah dari pilihan yang ada.
Mudah sekali, bukan? ๐
Ravindra mengatakan
saya mau tanya, gimana cara membuat id otomatis di PHPMaker misal “JNS001” bertambah secara otomatis saat kita tambah data baru.
Masino Sinaga mengatakan
Intinya sama persis dengan langkah-langkah di atas. Bedanya, dari pengaturan Fields -> Add Page -> Default Value, ketikkan nama global function buatan yang bertalian. Supaya lebih aman, gunakan juga server event Row_Inserting untuk mengisi nilai field ybt dari keluaran global function tersebut.
Pastikan juga di dalam global function itu harus sudah menangani perhitungan nilai berikutnya yang diambil dari data nilai terakhir di database, lalu tambahkan dengan nilai satu.
Ravindra mengatakan
bisa dikasi contohnya?…maaf masih pemula.
Masino Sinaga mengatakan
Di artikel yang akan saya terbitkan besok contoh selengkapnya, ya. Selamat menunggu. ๐
Masino Sinaga mengatakan
Oke, silahkan langsung ke sini: Membuat Kode Otomatis Saat Data Ditambah di Aplikasi Web dari PHPMaker. Semoga bermanfaat.
fanny mengatakan
tanya pak, saya ingin membuat web ttg catatan pribadi. telah dibuat table2nya.
salahsatunya table note yg isinya field :
noteID, acaraID, tgljam_today, text, photo, lokasi, catatan_lain.
dan table lain adalah :
acaraID, tgljam_acara, text, tgljam_awal_reminder, tgljam_akhir_reminder, nama_teman, nomor_hp, nomor_bbm, catatan.
kedua table saling terhubung, kalau tgljam_awal_reminder, tgljam_akhir_reminder sudah diisi datanya misalkan :
remider tgl awal 12/10/2014 12:15 dan tgl akhir 19/11/2014 09:00 maka dari tgl 12/10/2014 12:15 dan tgl akhir 19/11/2014 09:00 data akan tampak, dan jika sudah tgl 19/11/2014 09:00 lebih data tidak akan tampak.
atau mungkin jika tidak bisa dihidden datanya bisa dirubah dengan warna saja, misalkan bila data sedang berlangsung maka akan tampak berwarna hijau, jika tgl-jam sudah lewat menjadi merah.
nah bagaimana pak, apa ada caranya yang seperti itu?
terimakasih.
fanny mengatakan
saya menemukan dhtml ini:
http://dhtmlx.com/docs/products/dhtmlxGantt/03_hours.html
apa bisa ditambahkan dalam phpreportmaker sebagai extention? tks
dina mengatakan
dear pak masino, saya usul bagaimana kl bapak menjadi reseller dari phpmaker ini di indonesia, jadi org2 bs lebih gampang belinya, terus terang saya juga tertarik setelah baca2 tp bingung mau belinya karna diluar negeri, saya tidak punya k-kredit/paypal. saya juga yakin kl ada resellernya di sini pasti bisa laris ini… bapak bisa sambil buka tempat kursus phpmaker+phpmaker report atau lain2nya itu mungkin
gimana pak, setuju? kl bisa beneran saya langsung beli lah sama bapak segera… ditunggu kabar bagusnya segera ๐
Masino Sinaga mengatakan
Halo Dina, terima kasih untuk usulannya. Sayangnya, author PHPMaker belum menyediakan pilihan atau semacam penawaran untuk menjadi reseller produk mereka. Meskipun demikian, barusan saya sudah kirim email ke sales-nya menanyakan kemungkinan untuk menjadi reseller PHPMaker.
Jika Anda berminat membeli PHPMaker, sebenarnya mereka menyediakan metode pembayaran lainnya seperti lewat rekening bank mereka di Hongkong, dan bisa Anda cek di bagian paling bawah dari halaman pada link ini: http://www.hkvstore.com/purchase.asp?prodid=11
Jika Anda tetap tidak ingin menggunakan metode pembayaran tersebut, saya bisa saja bantu untuk membelikan PHPMaker buat Anda menggunakan Paypal saya. Anda tinggal men-transfer ke rekening BCA saya sejumlah hasil kesepakatan perkalian nilai kurs USD ke Rp dengan USD 199.95 (saat komentar ini saya tulis). Tapi ini hanya untuk PHPMaker saja, karena saldo Paypal saya pas-pasan hanya bisa untuk membeli PHPMaker saja (PHP Report Maker nggak bisa karena saldonya kurang). ๐
Masino Sinaga mengatakan
Dina, akhirnya saya disetujui oleh author PHPMaker untuk menjadi reseller PHPMaker di Indonesia. Penjelasan selengkapnya bisa dibaca melalui artikel ini: Mau Beli PHPMaker? Hubungi Saya sebagai Reseller PHPMaker di Indonesia!.
Semoga dapat membantu, ya! ๐
Rifan mengatakan
Pak masino,
saya ada table 2:
table 1 = โdatakaryawanโ yang isinya ada:
karyawan_id int(11), primary key, AI, not null
name varchar(20), not null
username varchar(20), not null
password varchar(20), not null
table 2 = “dataprospek” yang isinya :
data_id int(11), primary key, AI, not null
karyawan_id int(11), foreign key, not null
sales_name varchar(20), not null
bagaimana agar ketika saya input di table “dataprospek” field karyawan_id autofill mengambil data dari karyawan_id di table “datakaryawan” yang sudah di buat sebelumnya?
karena sekarang ketika saya input data di “dataprospek” field karyawan_id harus dimasukkan manual, padahal hasilnya sama dengan karyawan_id di “datakaryawan”.
begitu juga dengan filed name dengan sales_name.
jika saya membuat CurrentKaryawanID(), bagaimana caranya…
dan juga CurrentName()…
saya sudah mencoba default bawaan phpmaker “CurrentUserName()”
yang ter autofill username di datakaryawan. <== contoh seperti ini…
mohon bantuannya pak untuk membuat CurrentKaryawanID() dan CurrentName()
saya masih belajar phpmakerโฆ.
salam
Masino Sinaga mengatakan
Kalau yang Anda maksud field itu berisi pilihan beberapa record dari table lain, maka gunakan Lookup Table menggunakan control Select Option (Combobox).
Sedangkan jika Anda ingin membuat function sendiri, itu lebih ke arah mempermudah penyaringan record berdasarkan data karyawan yang sedang login saja. Logiknya ya terserah kebutuhan Anda tentunya.
Faris Baihaqi mengatakan
Tanya Master saya memakai CurrentUserLevel dan berhasil tapi keluar ID level misal 1 atau 5, yang saya butuhkan menampilkan nama level misal 1=admin … gimana caranya Pak Masino? Terima kasih
Masino Sinaga mengatakan
Pakai method CurrentUserLevelName() milik object Security().
John Samori mengatakan
pa bagaimana membuat fungsi terbilang untuk field jumlah
Masino Sinaga mengatakan
Googling aja, ada beberapa situs yang membagikan kode PHP untuk fungsi terbilang.
yayan mengatakan
tanya Om, kalo tabel user terdiri: id user, nama user, prov, kab dan ada tabel penduduk: id nip, nama, umur, lahir, prov, kab. maunya field prov, kab , di tabel user selalu ikut di session agar nantinya bisa kuambil buat filter user hanya bisa buka berdasar prov, kab, kec dan desa nya saja. bagaimana logicnya Om diletakkan di servent mana saja ? thank you
Masino Sinaga mengatakan
Ditaruh di server event Recordset_Selecting.
NOD mengatakan
Bang….
saya sudah bikin function auto update pakai varibel return sebuah nilai, contohnya untuk TERBILANG.
Gimana cara memasukkan nilainya bang? Supaya tersimpan di field untuk terbilang tersebut ?
Masino Sinaga mengatakan
Gunakan server event Row_Inserting saat menambah data, dan/atau Row_Updating saat mengubah data.
Baca topik Server Events and Client Scripts dari menu Help PHPMaker untuk info lebih lanjut.
N.Hariyadi mengatakan
Bagaimana membuat auto-update field dari table yang berbeda, suhu….mohon penjelasannya
Masino Sinaga mengatakan
Sama seperti yang sudah dijelaskan di atas, tapi di dalam global function-nya ditambahkan kode yang memeriksa/mengambil nama table pada halaman yang sedang aktif.