Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Mendeteksi Row Terakhir di Row_CustomAction dari PHPMaker
Mengapa Data Angka Disarankan untuk Selalu Menggunakan Nilai Desimal?
Memanggil Javascript untuk Event Field Tertentu di Aplikasi Web dari PHPMaker

Mudahnya Mendeteksi Row Terakhir di Row_CustomAction dari PHPMaker

Sel, 3 Februari 2015 oleh Masino Sinaga 2 Komentar

Seperti yang sudah kita ketahui, PHPMaker menyediakan server event Row_CustomAction yang memudahkan Web Developer untuk mengeksekusi kode kostum sebanyak jumlah baris yang terpilih di tabel pada halaman List. Melalui server event ini, kita sebagai Web Developer misalnya dapat mengeksekusi sebuah perintah SQL sebanyak jumlah Record yang terpilih tadi.

Suatu ketika, kita ingin memastikan sekaligus menandai Record yang terakhir terpilih di halaman List tersebut. Katakanlah khusus untuk Record yang terakhir, kita akan mengeksekusi perintah SQL yang berbeda dengan Record-Record atau baris sebelumnya. Pernah ingin melakukan hal seperti itu? Bingung bagaimana caranya? Jangan khawatir! Berikut ini solusinya.

Seperti biasa, kita cukup hanya menambahkan sedikit kode PHP saja pada dua buah server event berikut, yaitu Page_Load dan Row_CustomAction.

Katakanlah kita akan memperbarui data di table1 berdasarkan field id sebagai Primary Key, di mana untuk perubahan data di baris terakhir berbeda dengan di baris-baris sebelumnya.

Ini kode di server event Page_Load yang terdapat di bawah bagian Server Events -> Table-Specific -> List Page:

// Page Load event
function Page_Load() {
	//echo "Page Load";
	$GLOBALS["RowSelected"] = 0;
	$this->CustomActions["desc"] = "Update Description"; 
}

Dalam contoh kode di atas, kita mendeklarasikan sebuah variabel global yang bernama RowSelected dan mengesetnya dengan nilai nol. Di bawahnya kita menambahkan sebuah tombol yang bernama Update Description dengan kata kunci penghubung desc kepada server event Row_CustomAction di bawah ini.

Selanjutnya tambahkan kode berikut pada server event Row_CustomAction yang terdapat di bawah bagian Server Events -> Table-Specific -> List Page:

// Row Custom Action event
function Row_CustomAction($action, $row) {
	// Return FALSE to abort
	if ($action == "desc") {
		 $row_max = sizeof(explode("OR", $this->GetKeyFilter()));
		 $GLOBALS["RowSelected"]++;
		 if ($row_max == $GLOBALS["RowSelected"]) {
			ew_Execute("UPDATE table1 SET description = 'This is the last row' WHERE id='" . $row["id"]."'"); 
		 } else {
			ew_Execute("UPDATE table1 SET description = 'Not the last row' WHERE id='" . $row["id"]."'"); 
		 }
	}	
	return TRUE;
}

Perhatikanlah pada kode di atas. Kita mengambil jumlah baris maksimum yang terpilih dengan mengoptimalkan method GetKeyFilter milik object Page atau Table, yaitu dengan memisahkan String berdasarkan kata kunci OR sebagai pemisahnya menggunakan function explode, lalu mengambil jumlah elemen dengan menggunakan function sizeof.

Selanjutnya nilai pada variabel global yang sebelumnya kita definisikan di server event Page_Load ditambahkan dengan nilai satu. Hal ini berfungsi sebagai counter di server event Row_CustomAction. Jika jumlah baris maksimum sama dengan nilai counter saat itu, maka itu artinya saat itu sistem sedang memproses baris yang terakhir. Dalam hal ini kita memisahkan perintah UPDATE untuk baris record terakhir dengan baris record-record sebelumnya.

Mudah sekali bukan? 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:Belajar PHPMaker, Page_Load, PHPMaker Indonesia, Row_CustomAction, 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, ilovephpmaker.com, dan phpmakerprojects.com.

Mengapa Data Angka Disarankan untuk Selalu Menggunakan Nilai Desimal?
Memanggil Javascript untuk Event Field Tertentu di Aplikasi Web dari PHPMaker

Komentar

  1. mardiutomo mengatakan

    Ming, 4 Maret 2018 pada 8:09 pm

    bagaimana mendeteksi sql kita berhasil atau menghasilkan error pada saat kita menggunakan perintah ew_Execute

    Balas
    • Masino Sinaga mengatakan

      Sel, 20 Maret 2018 pada 6:50 pm

      Coba ini:

      $query = "SELECT NamaField FROM NamaTable WHERE blablabla";
      $result = ew_Execute($query) or die("Terjadi error SQL");
      
      Balas

Tinggalkan Balasan Batalkan balasan

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

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses

Pos-pos Terbaru

  • Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Solusi Buat Field Lookup Table yang Bermasalah di Server Hosting
  • Hati-Hati Meredirect Pengguna Setelah Login di PHPMaker 2025
  • Ini Alasan Mengapa Kalian Harus Selalu Pakai PHPMaker versi Terakhir
  • Masino Extensions for PHPMaker 2025 Now Changed!

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Charly pada Menonaktifkan Field Tertentu Saat Data Diubah pada Aplikasi Web dari PHPMaker
  • Nanda pada Cara Menampilkan Tombol Close di Footer Modal buat Custom File yang SkipHeaderFooter-nya Bernilai True
  • Nanda pada Mudahnya Menghitung Saldo per Transaksi di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Menonaktifkan Field Tertentu Saat Data Diubah pada Aplikasi Web dari PHPMaker

Situs Terkait

  1. I Love PHPMaker
  2. Situs Resmi PHPMaker
  3. Forum Diskusi PHPMaker
  4. PHPMaker di IlmuKomputer.com
  5. PHPMaker Projects
  6. 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 - 2025 | WordPress | Catat masuk | Kembali ke atas