Masino Sinaga

Web Development, PHPMaker, & PHP Report Maker

Anda di sini: Beranda / PHPMaker / Mudahnya Menyaring Hanya Sebuah Record di Aplikasi Web dari PHPMaker
Mengambil Informasi Record yang Sudah Disaring di Aplikasi Web dari PHPMaker
Memanipulasi Record Setelah Dikeluarkan di Aplikasi Web dari PHPMaker

Mudahnya Menyaring Hanya Sebuah Record di Aplikasi Web dari PHPMaker

Juni 12, 2014 oleh Masino Sinaga Tinggalkan Komentar

Masih ingat dengan kemampuan PHPMaker yang memungkinkan Web Developer untuk menyaring kumpulan Record sebelum ditampilkan ke sebuah Aplikasi Web dengan menggunakan server event Recordset_Selecting? Di tulisan ini kita akan membahas kemampuan yang mirip dengan itu. Kali ini kita akan membahas mengenai server event yang bernama Row_Selecting.

Perbedaan di antara kedua server event tersebut adalah kalau di Recordset_Selecting kita dapat menyaring kumpulan dari beberapa Record sekaligus, maka di Row_Selecting kita dapat menyaring hanya sebuah Record sebelum ditampilkan ke Aplikasi Web. Hal ini bermanfaat untuk digunakan di halaman Salin (Copy), Ubah (Edit), dan Hapus (Delete) untuk sebuah Record.

Lokasi server event Row_Selecting berada di bawah Server Events -> Table-Specific -> Common. Pastikan sebelumnya Anda sudah memilih salah satu Table yang Anda inginkan dari panel Database di sebelah kiri dari project PHPMaker Anda, untuk memastikan Anda menambahkan kode di server event pada Table yang tepat.

Seperti namanya, server event Row_Selecting akan dipanggil sebelum memilih sebuah Record. Argumen dari server event ini adalah $filter (yang merupakan bagian dari klausa WHERE di SQL) untuk memilih sebuah Record. Anda dapat mengkostumais argumen penyaringan tersebut untuk mengganti Record yang akan dipilih.

Perlu diingat, bahwa server event Row_Selecting secara standar (by default) hanya akan dipanggil di halaman Copy untuk memvalidasi apakah sebuah Record diijinkan oleh sistem untuk disalin Pengguna atau tidak. Hal ini tentu saja sangat bermanfaat bagi Anda sebagai Web Developer jika ingin memeriksa atau memvalidasi sebuah Record terlebih dulu sebelum dapat disalin atau di-copy oleh Pengguna Aplikasi Web Anda.

Supaya lebih jelas, langsung saja kita simak contoh berikut. Katakanlah dari Aplikasi Web yang dihasilkan oleh file project demo yang disediakan oleh PHPMaker (menggunakan database MySQL), kita akan mengijinkan hanya sebuah Record Mobil saja yang memiliki ID sama dengan 2 yang dapat disalin oleh Pengguna. Kode selengkapnya di server event Row_Selecting akan menjadi seperti ini:

// Row_Selecting event
function Row_Selecting(&$filter) {
	// Enter your code here	
	ew_AddFilter($filter, "`ID` = 2"); 
}

Setelah file script di-generate ulang oleh PHPMaker lalu Aplikasi Web dijalankan di browser, maka ketika Pengguna mencoba menyalin Record Mobil yang ID-nya tidak sama dengan 2, sistem akan menampilkan pesan No records found, yang artinya tidak ada record ditemukan. Hal ini terjadi karena sistem akan menyaring hanya Record yang memiliki ID sama dengan 2 saja yang boleh disalin. Sekarang silahkan Anda coba menyalin Record berdasarkan ID = 2, maka sistem akan mengijinkan Pengguna untuk menyalin Record tersebut.

Enaknya lagi, berdasarkan server event Row_Selecting tersebut, Anda sebagai Web Developer dapat membatasi Record yang akan diubah atau dihapus. Jadi, berdasarkan contoh kasus di atas tadi, sistem tidak mengijinkan Pengguna untuk mengubah atau menghapus Record Mobil yang ID-nya tidak sama dengan 2.

Untuk menangani pengubahan Record, maka kita akan menggunakan server event lainnya yang bernama Page_Render milik halaman Edit untuk memanggil method milik class Table yang bernama LoadRow; di mana method ini akan memanggil server event Row_Selecting. Catatan: server event Page_Render akan kita bahas lebih lanjut di artikel terpisah yang akan datang. Jadi, sabar saja ya, dan ikuti terus artikel-artikel di situs ini yang akan selalu diterbitkan satu artikel per hari:

// Page Render event
function Page_Render() {

	//echo "Page Render";		
	if (!$this->LoadRow()) {
		$this->setFailureMessage("Tidak diijinkan untuk diubah.");
		$this->Page_Terminate("carslist.php");
	}
}

Dalam contoh kode di atas ini, jika Record Mobil tidak diijinkan oleh sistem untuk diubah (ditandai dengan dicegahnya Pengguna menampilkan form Ubah/Edit untuk Record Mobil yang ID-nya tidak sama dengan 2, maka sistem akan menampilkan pesan Tidak diijinkan untuk diubah, dan seketika itu juga sistem akan me-redirect Pengguna ke halaman List yang menampilkan daftar Record-Record Mobil.

Sedangkan untuk menangani di halaman Hapus (Delete) sebuah Record, Anda sebagai Web Developer cukup hanya menambahkan kode yang di atas barusan ke dalam server event Page_Load:

// Page Load event
function Page_Load() {

	//echo "Page Load";		
	if (!$this->LoadRow()) {
		$this->setFailureMessage("Tidak diijinkan untuk dihapus.");
		$this->Page_Terminate("carslist.php");
	}
}

Wouw, untuk kesekian kalinya… betapa mudahnya Anda bisa menerapkan business-logic yang mirip dengan hal tersebut di Aplikasi Web yang dihasilkan oleh PHPMaker. Menyenangkan sekali, bukan? 🙂

Ditempatkan di bawah: PHPMaker Ditag dengan:PHPMaker Indonesia, Row_Selecting, Server Events, Tutorial PHPMaker

Masino Sinaga

Web Developer pengguna PHPMaker untuk membangun Aplikasi Web sejak tahun 2004. Sampai sekarang masih aktif dan rajin membagikan pengalamannya menggunakan PHPMaker melalui situs masinosinaga.com dan ilovephpmaker.com.

Mengambil Informasi Record yang Sudah Disaring di Aplikasi Web dari PHPMaker
Memanipulasi Record Setelah Dikeluarkan di Aplikasi Web dari PHPMaker

Tinggalkan Balasan Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pos-pos Terbaru

  • Server Event Page_Render dan Page_Rendering di PHPMaker, Apa Sih Bedanya?
  • Begini Mudahnya Mengubah Judul Browser Secara Dinamis di PHPMaker 2021
  • Solusi Supaya PreviewRow dan PreviewOverlay Bisa Sama-Sama Berfungsi di PHPMaker 2021
  • Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Seperti Ini Mudahnya Menyembunyikan Data Label di Chart dari PHPMaker 2021

Menu

  • Siapa Saya?
  • Web Development
  • PHPMaker
  • Umum
  • Syarat dan Ketentuan
  • Sitemap (Peta Situs)
  • Komentar

Komentar Terbaru

  • Masino Sinaga pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Masino Sinaga pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021
  • Masino Sinaga pada Mudahnya Menambahkan Global Function untuk Auto-Update Field di PHPMaker
  • Abu Syifa pada Setting Import Data Berikut Wajib Anda Ketahui Bedanya di PHPMaker 2021
  • Abu Syifa pada Jangan Pernah Lagi Mencampur Kode PHP di Client Script atau Startup Script pada PHPMaker 2021

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Learning

Baru di PHPMaker?

Baca ini terlebih dulu ...

  1. Ayo Menjadi Web Developer yang Cerdas!
  2. PHPMaker: PHP Code Generator + PHP Framework
  3. Pertanyaan-Pertanyaan yang Paling Sering Diajukan Seputar PHPMaker
  4. Tips buat Anda Pemula yang Baru Mengenal dan Menggunakan PHPMaker
  5. Bacalah Help, Bacalah Help, dan Bacalah Help di PHPMaker!

(c) Masino Sinaga 2009 - 2019 | WordPress | Catat masuk | Kembali ke atas