Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Membandingkan Nilai di Sebuah Baris dengan Baris Sebelumnya dari PHPMaker
Mudahnya Menghilangkan Tulisan Total di Bawah Tabel Halaman List
Menyembunyikan Kolom di Tabel halaman List tapi Menampilkannya di Extended Search

Membandingkan Nilai di Sebuah Baris dengan Baris Sebelumnya dari PHPMaker

Sel, 19 Agustus 2014 oleh Masino Sinaga 7 Komentar

Tidak bisa dihindari bahwa Anda sebagai Web Developer harus membandingkan nilai di sebuah baris dengan baris sebelumnya atau yang berada di atasnya. Data ini biasanya perlu dibandingkan karena adanya business-logic yang mengharuskan memproses data baris per baris yang ditampilkan melalui sebuah tabel.

Jika kita berbicara mengenai data di baris yang satu dengan baris lainnya, maka kita membahas mengenai data yang ditampilkan pada halaman List. Beruntunglah Anda sebagai Web Developer jika menggunakan PHPMaker, karena dia sudah menyediakan server event yang memungkinkan kita mengeksekusi kode untuk memproses baris per baris. Nama server event itu adalah ListOptions_Rendered.

Katakanlah dalam contoh berikut, kita akan membandingkan nilai tahun pada field yang bernama Tahun. Nilai pada field ini sudah diurutkan mulai dari nilai terkecil sampai terbesar. Selanjutnya kita akan memeriksa dan membandingkan nilai di baris sekarang dengan nilai di baris sebelumnya. Hasil perbandingan itu selanjutnya akan kita tampilkan, sehingga kita bisa mengetahui pada baris keberapa terjadi perbedaan nilai.

Langkah pertama, kita harus mendeklarasikan dua buah variabel yang masing-masing bernama $tahun_sebelumnya dan $tahun_sekarang.

Langkah kedua, kita mengambil terlebih dulu nilai tahun saat ini, lalu menampungnya ke variabel $tahun_sebelumnya. Setelah itu, kita tampilkan hasilnya dengan menggunakan echo.

Langkah ketiga, di bawahnya kita memeriksa kembali, apakah nilai tahun pada baris berikutnya tidak sama dengan nilai Tahun pada baris sebelumnya. Jika ya, maka update nilai Tahun pada baris sekarang dengan nilai pada baris berikutnya.

// ListOptions Rendered event
function ListOptions_Rendered() {
	// Langkah Pertama:
	global $tahun_sebelumnya;
	global $tahun_sekarang;		
	$tahun_sebelumnya = $this->Tahun->CurrentValue;

	// Langkah Kedua:	
	if ($this->RowCnt > 0) {					
		echo $this->RowCnt . ". Tahun Sekarang - Sebelumnya = " . $tahun_sebelumnya;
		echo " - ";
		echo $tahun_sekarang;
		echo "<br>";
	}

	// Langkah Ketiga:
	if ($this->Tahun->CurrentValue <> $tahun_sebelumnya) {
		$tahun_sekarang = $this->Tahun->CurrentValue;
	} else {
		$tahun_sekarang = $tahun_sebelumnya;
	}

}

Jadi, secara garis besar, kode di atas bisa kita bagi menjadi 3 bagian sesuai dengan 3 langkah di atas tadi (lihat pada komentar di kode), yaitu:
1. Siapkan variabel dan tampung nilai sekarang
2. Tampilkan hasilnya (untuk memisahkan proses nomor 1 di atas dan nomor 3 di bawah ini)
3. Bandingkan baris sekarang dengan baris sebelumnya

Demikian seterusnya, ketiga bagian kode ini akan diproses dalam server event ListOptions_Rendered.

Jika misalnya ada 10 record di dalam Tabel pada halaman List yang sedang aktif, dengan urutan nilai sebagai berikut: 1, 1, 1, 1, 1, 2, 2, 3, 3, 3 maka output dari kode di atas menjadi seperti ini:

1. Tahun Sekarang - Sebelumnya = 1 -
2. Tahun Sekarang - Sebelumnya = 1 - 1
3. Tahun Sekarang - Sebelumnya = 1 - 1
4. Tahun Sekarang - Sebelumnya = 1 - 1
5. Tahun Sekarang - Sebelumnya = 1 - 1
6. Tahun Sekarang - Sebelumnya = 2 - 1
7. Tahun Sekarang - Sebelumnya = 2 - 2
8. Tahun Sekarang - Sebelumnya = 3 - 2
9. Tahun Sekarang - Sebelumnya = 3 - 3
10. Tahun Sekarang - Sebelumnya = 3 - 3

Perhatikan pada baris nomor urut 6 dan 8, di situlah terjadi perubahan nilai Tahun, masing-masing dari 1 ke 2, dan dari 2 ke 3.

Mudah sekali, bukan? 🙂

Ditempatkan di bawah: PHPMaker Ditag dengan:ListOptions_Rendered, PHPMaker Indonesia, 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.

Mudahnya Menghilangkan Tulisan Total di Bawah Tabel Halaman List
Menyembunyikan Kolom di Tabel halaman List tapi Menampilkannya di Extended Search

Komentar

  1. angga mengatakan

    Sel, 5 April 2016 pada 12:22 pm

    mirip dengan kasus saya ini pak 🙂 kalo output seperti ini

    ———————————————————————
    | hari | tanggal | nilai | hasil |
    ——————————————————————–
    | | 01/05/2016 | A | |
    ——————————————————————-
    | 1 | 02/05/2016 | B | B-A |
    ——————————————————————-
    | 2 | 03/05/2016 | C | C-B |
    ——————————————————————-

    jadi hasil hari pertama (1) itu pak pengurangan dari value B-A & juga hari kedua (2) C-B
    yg saya tanyakan bagaimana pak ouput table list dibawah hari itu empty & disamping nilai A juga pak

    dan lagi2 terima kasih pak banyak bantu blog ini pak 😀

    Balas
    • Masino Sinaga mengatakan

      Sel, 5 April 2016 pada 12:55 pm

      Untuk melakukan perhitungan, gunakan seperti logik di atas.

      Sedangkan untuk menampilkan output-nya di halaman List, Anda harus menambahkan kolom baru, baca artikel ini: Menambahkan Kolom Baru di Halaman List pada Aplikasi Web dari PHPMaker.

      Balas
      • angga mengatakan

        Sel, 5 April 2016 pada 2:59 pm

        hasilnya belum sama yah pak seperti ini
        [img src=”http://image.prntscr.com/image/0a8873863d3f46eabc0763f68add6d32.jpg” width=400]

        Balas
        • angga mengatakan

          Sel, 5 April 2016 pada 3:00 pm

          haduh ga bisa insert gambar 😀

          Balas
        • Masino Sinaga mengatakan

          Sel, 5 April 2016 pada 3:07 pm

          Apanya yang belum sama?

          Balas
          • angga mengatakan

            Sel, 5 April 2016 pada 3:13 pm

            dari link yg bapak kasih sudah saya coba.jadi dibawah header barisnya ke isi semua sedangkan saya dibawah hari dan hasil itu loncat 1 baris dulu pak baru isi fieldnya gitu pak 🙂

            Balas
            • Masino Sinaga mengatakan

              Sel, 5 April 2016 pada 3:27 pm

              Untuk mengisi baris-baris di bawahnya, gunakan logik kode yang ada di artikel ini.

              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

  • Masino Extensions untuk PHPMaker 2024 Sudah Dirilis, Silahkan Download!
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Review PHPMaker 2024
  • Mudahnya Mengunci Record dengan Javascript Count Down di PHPMaker 2023
  • Ini Alasan Kenapa Kalian Harus Beralih ke PHP 8

Menu

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

Komentar Terbaru

  • Masino Extensions untuk PHPMaker 2024 Sudah Dirilis, Silahkan Download! – Masino Sinaga pada Fitur-Fitur Masino Extensions untuk PHPMaker 2024
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Custom Domain URL di Masino Extensions untuk PHPMaker 2020
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Membatasi Akses Versi Live dan Versi Development Aplikasi Web dari PHPMaker
  • Fitur-Fitur Masino Extensions untuk PHPMaker 2024 – Masino Sinaga pada Nomor Urut Record di Export Data pada PHPMaker 2020 dan PHPMaker 2021
  • Masino Sinaga pada Review PHPMaker 2024

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 - 2023 | WordPress | Catat masuk | Kembali ke atas