Kadang-kadang, Pengguna Akhir penasaran ketika menyimpan data yang sudah dientri, ternyata sistem menampilkan pesan bahwa data tersebut sudah ada di database. Mereka penasaran ingin segera mengetahui selengkapnya data yang sudah pernah dientri itu.
Kondisi saat ini, sistem akan menampilkan pesan hasil validasi sistem yang menyatakan bahwa data sudah ada. Sistem tidak langsung otomatis menampilkan data tersebut dari database. Jadi, dalam hal ini, Pengguna Akhir harus kembali dulu ke halaman List, lalu mencari data tersebut, kemudian menampilkannya.
Tentu saja hal ini kurang begitu efektif, karena dibutuhkan beberapa langkah untuk mengetahui data tersebut. Pertanyaannya adalah: Bagaimana cara supaya sistem dapat menampilkan data tersebut tanpa harus mencari terlebih dulu datanya secara manual?
Bukan PHPMaker namanya jika hal ini tidak bisa diatasi dengan sangat mudah dan cepat.
Katakanlah kita ingin memeriksa data Order Details dengan menggunakan demo project. Jika data yang ditambahkan sudah ada, maka sistem akan menampilkan pesan dan langsung me-redirect ke halaman View untuk menampilkan data selengkapnya.
Untuk menerapkan business-logic seperti itu, maka kita cukup menambahkan sedikit kode PHP saja ke dalam server event Row_Inserting milik table orderdetails:
$row = ExecuteRow("SELECT OrderID, ProductID FROM orderdetails WHERE OrderID = " . $rsnew["OrderID"] . " AND ProductID = " . $rsnew["ProductID"]); if ($row["OrderID"] == $rsnew["OrderID"] && $row["ProductID"] == $rsnew["ProductID"]) { $this->setFailureMessage("OrderID <strong>" . $row["OrderID"] . "</strong> and ProductID <strong>" . $row["ProductID"] . "</strong> already exists. Here is the View page that displays the existing record."); $this->terminate("orderdetails/view/" . $row["OrderID"] . "/" . $row["ProductID"]); return false; }
Dari kode tersebut, sistem akan memeriksa terlebih dulu data di table orderdetails berdasarkan data OrderID dan ProductID dengan menggunakan fungsi global ExecuteRow(). Jika data sudah ada di database, maka tampilkan pesan, lalu segera redirect Pengguna Akhir ke halaman View yang menampilkan selengkapnya data tersebut.
Tentu saja dalam hal ini Pengguna Akhir tersebut sudah diberikan akses (permission) untuk menambah data melalui halaman Add, dan juga menampilkan data pada halaman View. O iya, kode di atas memiliki keterbatasan. Hanya bisa digunakan jika halaman Add diakses tidak melalui Modal dialog. Jadi, harap maklum ya. 😉
Perhatikanlah kembali kode tadi. Kita tidak perlu menulis kode PHP sampai berpuluh-puluh baris untuk menerapkan business-logic tersebut. Hanya dengan 6 baris kode PHP itu saja, maka kita bisa memudahkan Pengguna Akhir untuk menampilkan data yang sudah pernah dientri tadi.
Luar biasa memang PHPMaker! Hohoho… 😀
[…] informasi saja. Contoh kode ini sebenarnya sudah pernah kita bahas pada artikel saya yang berjudul: Menampilkan Data pada Halaman View Jika Sudah Pernah Dientri di PHPMaker 2021. Di artikel tersebut penekanannya adalah bagaimana mudahnya kita me-redirect ke halaman View dari […]