Sering kali Web Developer harus melibatkan lebih dari satu Table di Database untuk mengelola (Tambah, Ubah, dan Hapus) data karena adanya kebutuhan menampilkan informasi pendukung dari Table terkait lainnya. Biasanya, untuk mengimplementasikan kebutuhan ini, maka Web Developer akan membuat sebuah View di dalam Database (Database View) yang melibatkan beberapa Table yang terkait tadi, lalu menggunakan Database View tersebut sebagai object untuk memodifikasi Data.
Sayangnya, ketika Database View tadi digunakan sebagai object untuk langsung mengelola data, maka sistem Database akan mengembalikan sebuah pesan error yang kira-kira isinya menyebutkan, bahwa tidak diijinkan memodifikasi data yang terdiri dari lebih satu Table melalui sebuah Database View yang mengandung JOIN.
Contoh pesan error tersebut adalah seperti ini:
Failed to execute SQL. Error: Can not modify more than one base table through a join view '<View_Name>'
Pernah mengalami hal seperti itu? Lalu apa yang Anda lakukan? Menyerah begitu saja? Hm…
Kini Anda tidak perlu khawatir lagi! Karena Aplikasi Web yang dibangun dengan menggunakan PHPMaker dapat mengatasi permasalahan klasik ini dengan sangat mudah, cepat, dan lagi-lagi menyenangkan! PHPMaker ternyata sudah lama mengantisipasi kondisi tadi, dan yang paling penting adalah: sekaligus memberikan solusinya.
Artinya, Web Developer dapat menentukan hanya sebuah Table utama yang sebenarnya terlibat dalam pengelolaan data tadi. Selain itu, PHPMaker juga memberikan keleluasaan kepada Web Developer untuk mengeluarkan (exclude) Field-Field mana saja yang tidak diperlukan untuk pengelolaan data tersebut dari Database View. Karena sekalipun Database View itu melibatkan lebih dari satu Table, sebenarnya hanya satu Table saja yang digunakan untuk pengelolaan data.
Sampai di sini saya berharap semua penjelasan di atas dapat dipahami. Supaya semakin jelas, mari kita melihat contoh kasus di bawah ini.
Katakanlah kita memiliki dua buah Table di dalam sebuah Database yang masing-masing bernama barang dan jual_barang, dengan struktur dan data sebagai berikut:
-- ---------------------------- -- Table structure for barang -- ---------------------------- DROP TABLE IF EXISTS `barang`; CREATE TABLE `barang` ( `Kode_Barang` char(3) NOT NULL, `Nama_Barang` varchar(50) DEFAULT NULL, `Harga` int(11) DEFAULT NULL, PRIMARY KEY (`Kode_Barang`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of barang -- ---------------------------- INSERT INTO `barang` VALUES ('001', 'Barang Pertama', '1000'); INSERT INTO `barang` VALUES ('002', 'Barang Kedua', '2000'); INSERT INTO `barang` VALUES ('003', 'Barang Ketiga', '3000'); -- ---------------------------- -- Table structure for jual_barang -- ---------------------------- DROP TABLE IF EXISTS `jual_barang`; CREATE TABLE `jual_barang` ( `Kode_Jual` char(3) NOT NULL, `Kode_Barang` char(3) NOT NULL, `Jumlah_Beli` int(11) DEFAULT NULL, `Total_Beli` int(11) DEFAULT NULL, PRIMARY KEY (`Kode_Jual`,`Kode_Barang`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- ---------------------------- -- Records of jual_barang -- ---------------------------- INSERT INTO `jual_barang` VALUES ('001', '001', '12', '12000'); INSERT INTO `jual_barang` VALUES ('002', '001', '3', '3000'); INSERT INTO `jual_barang` VALUES ('003', '002', '4', '8000'); INSERT INTO `jual_barang` VALUES ('004', '003', '4', '12000');
Karena ada kebutuhan di Aplikasi Web yang akan dibangun menggunakan kedua Table tadi untuk menginput data transaksi penjualan barang, maka kita harus membuat sebuah Database View yang bernama transaksi_jual_barang dengan struktur View sebagai berikut:
CREATE VIEW `transaksi_jual_barang` AS SELECT jual_barang.Kode_Jual, barang.Kode_Barang, barang.Nama_Barang, barang.Harga, jual_barang.Jumlah_Beli, jual_barang.Total_Beli FROM barang INNER JOIN jual_barang ON barang.Kode_Barang = jual_barang.Kode_Barang
Perhatikanlah sintaks DDL (Data Definition Language) dari Database View tersebut. Kita melibatkan kedua tabel barang dan jual_barang tadi. Mungkin Anda bertanya, mengapa? Karena di form untuk menambah dan mengubah (Add dan Edit) data, kita akan mengimplementasikan sebuah business-logic yang melibatkan kedua Table tadi.
Lengkapnya business-logic tersebut adalah seperti ini. Ketika Pengguna memilih Kode_Barang, maka field Nama_Barang dan Harga yang berada di bawahnya pada form Add dan Edit akan otomatis terisi nilai-nya dengan data yang terkait dari Table barang. Kemudian, Pengguna memasukkan data jumlah satuan yang dibeli pada field Jumlah_Beli, lalu di field Total_Beli akan terisi dengan nilai hasil perkalian dari field Harga dan Jumlah_Beli.
Dari semua penjelasan di atas barusan, dapat kita simpulkan, bahwa satu-satunya tabel yang terlibat dalam pengelolaan data penjualan barang tersebut adalah hanya Table jual_barang. Selain itu, karena kita sudah menentukan bahwa Table yang hanya terlibat adalah jual_barang, maka Field-field yang tidak terkait dengan Table tersebut harus kita keluarkan (exclude) dari proses penambahan, pengubahan, maupun penghapusan data.
Nah, untuk mengimplementasikan semua itu, maka kita cukup menggunakan server event Row_Inserting, Row_Updating, dan Row_Deleting milik Database View yang bernama transaksi_jual_barang di dalam project PHPMaker Anda. Masing-masing kode dari ketiga server event itu adalah sebagai berikut:
Row_Inserting:
// Row Inserting event function Row_Inserting($rsold, &$rsnew) { // Enter your code here // To cancel, set return value to FALSE $this->UpdateTable = "jual_barang"; unset($rsnew["Nama_Barang"]); unset($rsnew["Harga"]); return TRUE; }
Row_Updating:
// Row Updating event function Row_Updating($rsold, &$rsnew) { // Enter your code here // To cancel, set return value to FALSE $this->UpdateTable = "jual_barang"; unset($rsnew["Nama_Barang"]); unset($rsnew["Harga"]); return TRUE; }
Row_Deleting:
// Row Deleting event function Row_Deleting(&$rs) { // Enter your code here // To cancel, set return value to False $this->UpdateTable = "jual_barang"; unset($rs["Nama_Barang"]); unset($rs["Harga"]); return TRUE; }
Inti dari ketiga kode pada ketiga server event tadi adalah, kita menggunakan property UpdateTable milik class Table/Page untuk menentukan satu-satunya Table yang terlibat dengan pengelolaan data, yaitu jual_barang. Kemudian, kita juga meng-exclude-kan atau mengeluarkan dua buah Field yang tidak terkait dengan Table jual_barang tadi, yaitu masing-masing Nama_Barang dan Harga.
Sampai di sini kita sudah berhasil menambahkan sedikit kode saja untuk proses penambahan, pengubahan, dan penghapusan data transaksi penjualan barang.
Lalu bagaimana dengan kebutuhan untuk menampilkan hasil perhitungan di field Total_Beli ketika Pengguna memasukkan data di field Jumlah_Beli saat Pengguna menambah atau mengubah data?
Jawabannya, Anda cukup memasukkan hanya sedikit kode berikut ke dalam bagian Startup Script yang masing-masing berada di bawah Client Scripts -> Table-Specific -> Add/Copy Page dan Client Scripts -> Table-Specific -> Edit Page:
$(document).ready(function() { $("#x_Jumlah_Beli").keyup(function () { $("#x_Total_Beli").val($("#x_Harga").val() * $("#x_Jumlah_Beli").val()); }); $("#x_Harga").change(function () { $("#x_Total_Beli").val($("#x_Harga").val() * $("#x_Jumlah_Beli").val()); }); });
Oke, sampai di sini, kita sudah berhasil menambahkan hanya sedikit kode saja ke bagian Server Events dan Client Scripts.
Selebihnya, kita perlu mengeset beberapa item pengaturan yang terdapat di bawah tab Fields dari Database View transaksi_jual_barang untuk mengimplementasikan fitur Auto-fill.
Artinya, ketika Pengguna memilih salah satu Kode_Barang, maka field Nama_Barang dan Harga yang terdapat di bawahnya akan otomatis terisi sesuai dengan data Kode_Barang yang terpilih tadi.
Silahkan ikuti langkah-langkah berikut:
- Pastikan object View transaksi_jual_barang yang terdapat di panel Database pada project PHPMaker Anda sudah terpilih, lalu pastikan tab Fields yang terdapat di panel sebelah kananya sudah terpilih.
- Klik field Kode_Barang, lalu pastikan Anda melihat panel Edit Tag di bagian bawah.
- Di panel Edit Tag, pilih Select yang artinya kita akan mengubah dari control TextBox menjadi ComboBox, lalu klik property Use lookup table.
- Selanjutnya di sebelah kanannya muncul panel Lookup Table. Di bagian Table name pilih barang, di bagian Link field pilih Kode_Barang, di bagian Display field #1 pilih Kode_Barang.
- Masih dari panel Lookup Table tadi, aktifkan Auto fill, dengan cara memilih True, lalu klik tombol di sebelah kanannya yang bertuliskan … (titik tiga kali).
- Selanjutnya muncul jendela popup yang bernama Select Fields to Auto-Fill, di kolom Source Field (Lookup Table – barang), pilih Nama_Barang untuk target field Nama_Barang, demikian juga pilih Harga untuk target field Harga, lalu terkahir klik tombol OK.
Setelah semua itu selesai Anda lakukan, maka sekarang generate ulang semua file script menggunakan PHPMaker seperti biasa, dan seperti biasa, selamat menikmati hasilnya, hehehe… ๐
Wow, betapa mudah dan cepatnya bukan untuk mengelola data yang melibatkan lebih dari satu Table di Aplikasi Web yang dihasilkan oleh PHPMaker? Perhatikanlah juga kode di atas tadi. Hanya sedikit saja kode PHP dan jQuery yang perlu kita tambahkan. Selebihnya untuk urusan teknis lainnya kita serahkan kepada PHPMaker. Waktu development pun bisa menjadi dihemat secara signifikan. Keren, ‘kan?
Belum ada satupun tools sejenis yang dapat menyamai kehebatan dan fleksibilitas yang disediakan oleh PHPMaker. Bayangkanlah, bahwa betapa hebat dan fleksibelnya PHPMaker menyediakan kerangka kerja yang demikian rapinya untuk mengimplementasikan business-logic pengelolaan data yang melibatkan lebih dari satu Table! ๐
Rijal mengatakan
siiip Bang Masino, sdh di coba dan berjalan sperti yg diharapkan.
hehe…
Masino Sinaga mengatakan
Baiklah kalau begitu. ๐
Rijal mengatakan
Bang Masino, Mau tanya di fitur Report apakah memang gak ada fasilitas utk Filter data ,
jadi sebelum tampil halaman cetak (Report) muncul form Pencarian dulu, misalnya saya akan menampilkan Report/ halaman Cetak per Kode, sperti contoh di bawah ini :
Kode Jual : 101
Tangggal Cetak : 03/05/2014
====================================================
Kode Barang I Nama Barang I Harga I Jumlah_Beli I Total I
….. ……. …… ……. …….
….. ……. …… ……. ……..
Total :
Masino Sinaga mengatakan
Betul. Report di PHPMaker tidak memiliki fitur Pencarian/Filter. Anda harus menggunakan PHP Report Maker untuk membuat report yang memiliki fitur tersebut.
Rijal mengatakan
O gitu ya.
padahal cetak halaman/ report per Kode sangat penting dlm pengembangan aplikasi web. misal cetak Faktur penjualan, cetak ‘hasil’ registrasi online, Cetak Surat Menyurat. dll
apakah mmungkinkan jika memaksimalkan halaman View utk menampilkan report (halaman cetak) per kode/ ID yg dimodifikasi (edit manual) sesuai kebutuhan, misalnya menampilkan halaman Seperti contoh diatas.
atau mungkin harus buat Custom File untuk menghasilkan Format ‘Halaman Cetak’ sesuai dengan kebutuhan.
Mohon Sarannya, trimakasih.
Masino Sinaga mengatakan
Saran saya sebaiknya menggunakan Custom File untuk membuat format halaman cetak, di mana halaman ini dapat menerima parameter dari halaman yang sudah di-generate oleh PHPMaker melalui penggunaan server event.
hendi mengatakan
tanya, apa bisa phpmaker ini membuat shopingcart juga? ada contohnya pak? tks
Masino Sinaga mengatakan
Untuk Shoping Cart, Anda bisa menggunakan PayPal Shop Maker. Selengkapnya klik link ini: http://www.hkvstore.com/paypalshopmaker/
hendi mengatakan
kalau membuat di phpmaker dg cara “diakal2in” link antar table dg add-edit form beli supaya “agak2 mirip’ shopping cart apa bisa itu pak? tks
Masino Sinaga mengatakan
Bisa saja, tapi Anda harus mengkostumisasi sendiri file template yang digunakan oleh PHPMaker.
Rijal mengatakan
Pak Masino, saya coba menambahkan field ‘Jenis_Barang’ di Tabel Barang.
lalu saya tampilkan di Form view transaksi_jual_barang, utk auto Fill nya sdh berhasil ditampilkan seperti Nama_Barang & Harga.
Namun ketika di insert ke Database kok muncul pesan ini :
Failed to execute SQL. Error: Unknown column ‘Jenis_Barang’ in ‘field list’
Logika nya kan tinggal menambahkan ‘Jenis_Barang’ sperti kode ini :
// Row Inserting event
function Row_Inserting($rsold, &$rsnew) {
// Enter your code here
// To cancel, set return value to FALSE
$this->UpdateTable = “jual_barang”;
unset($rsnew[“Nama_Barang”]);
unset($rsnew[“Harga”]);
unset($rsnew[“Jenis_Barang”]); // ini Kode yg saya tambahkan
return TRUE;
}
tapi kok malah error ya, kira2 apa Penyebabnya ?
Terimakasih
Masino Sinaga mengatakan
Pastikan Anda sudah melakukan sinkronisasi ke Database dari menu Tools -> Synchronize.
Rijal mengatakan
Sudah di Synchronize Pak Masino, masih ttp error. kok aneh ya ?
Ketika Field tambahan tsb coba sy hapus kembali normal (tidak error).
Masino Sinaga mengatakan
Error tetap terjadi jika di View tersebut tidak ditambahkan field yang baru tadi.
Rijal mengatakan
Oooh Maaf Pak Masino, ternyata sy salah ketik, kesalahannya disini :
unset($rs[โJenis_Barangโ]);
seharusnya :
unset($rsnew[โJenis_Barangโ]);
yg Koment atas sdh benar karna sy langsung copy paste dari artikelnya.
Trimakasih banyak atas Responnya Pak.
Masino Sinaga mengatakan
Sama-sama. ๐
Bonivasius mengatakan
Mas masino mau nanya untuk artikel shopping cart cara menyambungkan ke database dan dapat berjalan di website yang kita buat gimana caranya ya mas ?? maaf saya masih newbie soalnya.
Masino Sinaga mengatakan
Shopping cart? Hubungannya apa ya dengan artikel di atas?
Ryuki mengatakan
Thank you bang. Baca & praktek artikel yg ini sedikit banyak ada hubunganya sama prjoect yg aku tanyain kemarin. Jadi paham sinkronisasi field antar table
Masino Sinaga mengatakan
Sama-sama.
Ryuki mengatakan
Maaf bang tanya yg basic banget. Baru mulai belajar phpmaker dr awal :D.
1. Bgmna caranya menampilkan 2 field dalam satu Kolom Hasil. haruskah edit htmlnya atau bgmana
2. Form input Add Data agar bisa berdampingan kanan kiri, bukan selalu atas bawah. Apa itu hrs edit htmlnya jg?
trims
Masino Sinaga mengatakan
1. Bisa dengan menggunakan server event Row_Rendered, bisa dengan menggunakan server event ListOptions_Load dan ListOptions_Rendered. Mau tau bedanya? Baca menu Help PHPMaker pada topik Server Events and Client Scripts.
2. Tidak. Anda cukup hanya menggunakan fitur Custom Templates dari dalam project PHPMaker. Baca juga topik ini dari menu Help PHPMaker.
Ryuki mengatakan
Ok trims bang
Masino Sinaga mengatakan
Sama-sama.
Ryuki mengatakan
Bang boleh minta kontaknya? kira2 abang bisa kan kalo bikin aplikasi berbasis web yg kemarin sempet saya kasi tau di excel? kalau blh no hp atau bbm. Saya gak mungkin nyelesain itu sendiri & waktu yg mendesak. kirim ke bexthy(at)gmaildotcom. trims
Masino Sinaga mengatakan
Bisa saja, asalkan spec detailnya jelas dan lengkap. Sanggup gak menyediakan spec detail sampai ke struktur tabel dsb?
Kalau nggak ya sama saja saya juga gak akan pernah bisa mengerjakannya.
Agus mengatakan
Pak Masino, saya mau membuat sistem infomasi kearsipan dengan php maker. bagaimana cara memindahkan dan mengembalikan data antar tabel.. misalkan ada 2 tabel tabel data arsip dengan tabel peminjaman. apabila data arsip yang dipinjam bisa pindah ke tabel peminjaman, dan jika sudah dikembalikan data tersebut bisa kembali ke tabel daftar arsip (serupa dengan sistem infomasi perpustakaan).
Mohon pencerahannya pak.
Masino Sinaga mengatakan
Gunakan server event Row_Inserted dan Row_Updated.
Baca topik Server Events and Client Scripts dari menu Help PHPMaker.
Agus mengatakan
pak Masino, mentok nih saya, jika pak masino tahu scriptnya untuk memindahkan dan mengembalikan antar table mohon bantuan pecerahan..
Nanda mengatakan
Maaf Newbie sedikit ikut menjawab.
Jadi misal anda sudah punya TABEL ARSIP dan TABEL PEMINJAMAN.
nanti ada Field STATUS dgn ketentuan.
1 = Dipinjam
2 = Sudah Kembali
(hanya gambaran)
mungkin yg dimaksud Pak Masino Seperti ini :
Ketika Proses Insert di Form PEMINJAMAN nanti secara Default isi kan field STATUS tersebut menjadi =’1′ (Di pinjam) gunakan ROW_INSERTED.
Kemudian saat Proses di Form Pengembalian ARSIP ada Proses Update Field STATUS tersebut menjadi =’2′ (Sudah kembali). gunakan ROW_UPDATED.
Sepengetahuan saya seperti itu, jadi tidak ada acara Pindah Data dari tabel A ke Tabel B.
Untuk melihat ARSIP yang di Pinjam dan Tidak bisa menggunakan Relasi Antar Tabel.
tapi tergantung Skema Database nya seperti apa ??
mohon maaf jika salah, hehe…
Masino Sinaga mengatakan
Iya, kira-kira seperti itu. Terima kasih sudah menjawab.
Masino Sinaga mengatakan
Itu sudah dijawab oleh Nanda.
angga mengatakan
pak tanya lagi dong ๐ ๐ ๐ saya punya table seperti berikut dan dibuat datadase view
Cara A : SELECT tbl_a.id AS ID ,tbl_a.tgl, tbl_a.hari, tbl_a.jam1 AS `14.00`,(`tbl_a`.`jam2 `- `tbl_a`.`jam1`) AS `18.00`,
(`tbl_a`.`jam3` – `tbl_a`.`jam2`) AS `22.00` FROM `tbl_pengunjung`
Cara B : SELECT tbl_a.id, tbl_a.tgl, tbl_a.hari, tbl_a.jam1, (`tbl_a`.`jam2 `- `tbl_a`.`jam1`) AS `18.00`,
(`tbl_a`.`jam3` – `tbl_a`.`jam2`) AS `22.00` FROM `tbl_pengunjung`
untuk Cara A kalo saya coba kemungkinan karena ada “AS” saya coba rubah dengan Cara B, bisa dan berhasil. saya coba hapus “AS 18.00” ttp aja ga bisa pak dianggap AS (Name_exp_4) sama phpmaker.
bagaiamana caranya yah pak.
terima kasih ๐
angga mengatakan
oh iya ada yg kurang pak saya save Cara A/B sebagai data_kunjungan
Masino Sinaga mengatakan
Sudah melakukan sinkronisasi ulang antara project PHPMaker dan database-nya?
angga mengatakan
sudah pak tapi tetap ngga bisa yah ๐
Masino Sinaga mengatakan
Sebenarnya maksud View di atas itu untuk tujuan apa? Apa yang Anda inginkan sebenarnya?
angga mengatakan
untuk ngakalin dari tbl_pengunjung pak, jadi ada beberapa field didalam tbl_pengunjung itu
tbl_a.jam1, tbl_a.jam2, tbl_a.jam3, tbl_b.jam1, tbl_b.jam2, tbl_b.jam3, tbl_c.jam1, tbl_c.jam2
tbl_c.jam3 s/d tbl_e pak maaf saya singkat pak :). jadi di Menu ada Lokasi A View 1 tbl_a, Lokasi B View 2 tbl_b dst pak. seperti itu pak kurang lebih
Masino Sinaga mengatakan
Pertanyaan selanjutnya, kenapa harus diakalin? ๐
angga mengatakan
maaf pak saya screenshot seperti ini http://prntscr.com/aezppf
jadi dalam view itu sudah ada rumus pak. yg garis merah itu adalah View table, sedangkan hijau itu hasil View juga dari rumus. maka dari itu saya akalin dari table realnya (tbl_pengunjung) initinya sih mempermudah user untuk input pak, padahal yg di input itu tabel realnya pak. sebelumnya data tersebut pakai excel yg sudah ada rumus. kurang lebih seperti itu pak penjelasan saya ๐ maaf pak banyak tanya ๐
terima kasih pak
angga mengatakan
oh iya pak saya coba di event ini function Row_Updating ($rsold, &$rsnew) {
ew_Execute(“update ms_tbl_pengunjung set tbl_a.jam1 where id=”.$ID.” “);
unset($rsnew[“18.00”]);
unset($rsnew[“22.00”]);
bisa tuh pak tp ada error seperti ini Failed to execute SQL. Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘where id=’ at line 1
Masino Sinaga mengatakan
1. Periksa ulang sintaks SQL Update di atas, pastikan valid. Bila perlu, coba dengan database manager favorit Anda seperti Navicat, dan pastikan SQL tersebut valid.
2. Pastikan variabel $ID mengandung nilai yang valid. Di server event yang Anda gunakan, apakah variabel ini sudah diisi dengan nilai yang valid? Mana kodenya?
3. Pastikan field id tipe-nya bukan String.
angga mengatakan
1. untuk SQL Update udh oke pak saya pake navicat
2. waduh kalo untuk ini saya tidak pake di Server Event tuh pak ๐ belum mengenal banyak tentang fungsi2 itu, saya lgsg coba aja di Row_Updating pak ๐
3. kalau id sendiri sih tipenya bigint pak.
angga mengatakan
solved pak untuk sementara ๐ horeee
kalau ada yg bingung saya tanya lagi yah pak ๐
Bayu mengatakan
Bang Masino.
Salam kenal.
Saya punya field primary key. Ketika Add, value-nya adalah tambah 1 dari isi record paling besar atau MAX(ID) + 1. Bagaimana cara naruhnya di Row_inserting?
Terima kasih.
Masino Sinaga mengatakan
Salam kenal kembali.
Jika Primary Key field itu menggunakan Auto-Increment seperti di MySQL, maka Anda tidak perlu menanganinya dari server event. PHPMaker akan mengenali dan mengatasinya secara otomatis di sisi Aplikasi Web.
Bayu mengatakan
Makasih jawabannya sebelumnya. Nah itu dia. Itu bukan auto increment dari databasenya, tapi saya bikin formula sendiri. Bagaimana jika field itu isinya adalah MAX(ID) + 1. Saya udah coba di function Row_inserting($rsold, &rsnew) {
global $conn;
$sSQL = “SELECT MAX(ID) + 1 FROM table”;
$newID = $conn->Execute($sSQL);
$renew[‘ID’] = $newID;
return TRUE;
}
Hasilnya error waktu click button Add.
Bayu mengatakan
Udah bisa Bang. Di row_inserting pake ini
$MyField = ew_ExecuteScalar(“SELECT MAX(ID) + 1 FROM table”);
$rsnew[“ID”] = $MyField;
Sukses. Jangan kapok ya kalau nanti aku tanya lagi, Bang.
Makasih banyak hlo.
Masino Sinaga mengatakan
Sama-sama.
Rizal mengatakan
kenapa kalo pakai add grid gak bisa?
Masino Sinaga mengatakan
Apanya yang gak bisa? Yang jelas dong, kalau bilang gak bisa itu seperti apa gak bisanya?
Rudy Budiana mengatakan
Dear Bang Masino,
Mohon Pencerahan nya..
Saya membuat LINKED TABLE ke database lain dengan nama table php_tr_detail_med..
di salah satu table di main database, saya membuat coding di server event row_inserted dimana ada perintah update ke salah satu table di LINKED TABLE (php_tr_detail_med). ..
setelah di generate dan melakukan insert data koq ada error ini
“Error: Invalid object name ‘php_tr_detail_med’. ”
seperti tidak dikenali linked table nya..
padahal kalau di list muncul table tersebut
Masino Sinaga mengatakan
Error itu terjadi karena Anda tidak menyertakan secara eksplisit object Connection Database yang digunakan oleh Linked Table tersebut. Karena tidak disertakan, maka secara default dia menggunakan object Connection Database default, di mana di database tersebut tidak ada table yang digunakan oleh Linked Table tadi.
Baca dan pelajari lagi topik-topik berikut dari menu Help PHPMaker:
– Linked Tables
– Some Global Functions di bawah topik Server Events and Client Scripts
Cris mengatakan
Alangkah baiknya jika tampilan outputnya disertakan supaya kita bisa tahu bagaimana contoh tampilannya.
Masino Sinaga mengatakan
Sengaja memang tidak saya tampilkan output-nya, supaya menimbulkan efek penasaran, dan bisa langsung dicoba sendiri. ๐
tiyusandy mengatakan
Kang masino, saya mau tanya.
gimana kalau saya ada 1 table, dan dalam custom file saya ingin menampilkan data 2 id yang berbeda dalam custom file, jd nanti saat di print no 1 menampilkan ID 001 berserta isi dari ID 001 lalu, di bawahnya menampilkan ID 002 berserta data dari ID002…
Thanks,
andi usman mengatakan
Fatal error: Call to undefined function PHPMaker2019\project1\ew_ExecuteScalar() in C:\xampp\htdocs\baharu\classes\category_detail.php on line 1070
Masino Sinaga mengatakan
Di PHPMaker 2019, tidak ada function ew_ExecuteScalar. Silahkan baca topik ini dari forum diskusi PHPMaker untuk solusi lebih lanjut: http://hkvforums.com/viewtopic.php?f=4&t=42920
Charly mengatakan
Mat Malam Pak Masino.
Pak, mohon bantuannya.
Saya punya dua buah Tag Select, kemudian nilai dari masing2 tag tersebut setelah di pilih sayang ingin menggabungnya ke dalam sebuah field sebelum di simpan.
sebagai Contoh. Di Tag Select yang pertama berisi Nilai DPU, dan Tag Select kedua berisi nilai, 01, 02 dst. Setelah di pilih di Field Text akan berisi contohnya DPU-01 sebelum disimpan. Mohon pencerahannya Pak Masino. Makasih
Masino Sinaga mengatakan
Bisa pakai server event Row_Inserting dan/atau Row_Updating:
Charly mengatakan
Makasih Pak Masino, saya sudah coba dan berhasil.
Tapi saya ingin bertanya lagi, untuk Field Text jika disetting No Null di database sehingga wajib di isi datanya tidak bisa ditambah. Kalo bisa mohon bantuannya jika Tag Select Pertama terpilih otomatis mengupdate nilai di Field Text dan begitu juga Tag Select kedua dipilih otomatis mengupdate nilai Field Text menjadi gabungan nilai Field Pertama dan Kedua, sehingga Field Text tidak Kosong pada saat data ditambah…Mohon Pencerahannya, Makasih Pak Masino.
Masino Sinaga mengatakan
Kalau itu harus pakai kode jQuery atau Javacript dan taruh di bagian Startup Script dari halaman Add dan/atau Edit.
Charly mengatakan
Makasih Pak Masino atas bantuannya. Saya akang coba sesuai petunjuk Pak Masino.
Charly mengatakan
Makasih Pak Masino, saya sudah bisa membuatnya sesuai petunjuk Pak Masino. Makasih banyak
Masino Sinaga mengatakan
Sama-sama.