Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Menyaring Record dari Lookup Table di Aplikasi Web dari PHPMaker
Mengakses Lebih Sedikit atau Lebih Banyak Record di Aplikasi Web dari PHPMaker
Menambahkan Business Logic Saat Mengirim Email di Aplikasi Web dari PHPMaker

Mudahnya Menyaring Record dari Lookup Table di Aplikasi Web dari PHPMaker

Rab, 18 Juni 2014 oleh Masino Sinaga 23 Komentar

Seperti yang kita ketahui, tidak ada satu Aplikasi Web manapun yang tidak pernah menggunakan Lookup Table untuk mengambil data dari tabel lain guna ditampilkan di sebuah field pada sebuah form. Biasanya fitur ini sering digunakan pada field yang menggunakan elemen Combobox atau DropDown List. Data yang disimpan di field tersebut adalah data Kode dari Lookup Table, sementara data yang ditampilkan ke Pengguna adalah Deskripsi-nya.

Sering kali ada kebutuhan untuk menyaring data yang berasal dari Lookup Table tadi sebelum ditampilkan ke Pengguna. Jelas dibutuhkan mekanisme yang memudahkan Web Developer untuk menyaring data Lookup Table tadi berdasarkan kriteria menurut business-logic tertentu.

Untuk itulah PHPMaker menyediakan sebuah server event yang bernama Lookup_Selecting, yang lokasinya berada di bawah Server Events -> Table-Specific -> Common di dalam project PHPMaker Anda. 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.

Lagi-lagi, sesuai dengan namanya, server event ini dipanggil sebelum memilih atau mengambil Record-Record dari Lookup Table. Anda dapat menggunakan server event ini untuk mengganti kriteria penyaringan Record dari Lookup Table yang bertalian.

Langsung saja kita simak contoh berikut. Kita akan memodifikasi kriteria penyaringan Record ketika sebuah daftar pilihan menampilkan nilai pada field MyLookupField pada tabel terpilih yang datanya diambil dari Lookup Table.

function Lookup_Selecting($fld, &$filter) {
     if ($fld->FldName == "MyLookupField")
         $filter = str_replace("xxx", "yyy", $filter);
}

Dalam contoh di atas, sistem akan memeriksa jika nama field pada tabel terpilih adalah MyLookupField, maka ganti kriteria penyaringan yang semula adalah xxx, menjadi yyy dengan menggunakan fungsi PHP yang bernama str_replace().

Contoh lainnya, kita bisa menambahkan kriteria penyaringan pada Lookup Table daripada menimpa kriteria penyaringan yang ditampilkan pada kode sebelumnya.

function Lookup_Selecting($fld, &$filter) {
     if ($fld->FldName == "MyLookupField")
         ew_AddFilter($filter, "MyField = 'xxx'"); // Asumsi: tipe field MyField adalah string
}

Dalam contoh yang kedua tadi, betapa mudahnya kita bisa menambahkan kriteria penyaringan dengan hanya menggunakan global function yang sudah disediakan oleh PHPMaker yang bernama ew_AddFilter.

Hohoho…, lagi-lagi betapa mudahnya bukan? 🙂

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

Mengakses Lebih Sedikit atau Lebih Banyak Record di Aplikasi Web dari PHPMaker
Menambahkan Business Logic Saat Mengirim Email di Aplikasi Web dari PHPMaker

Komentar

  1. nuriyatech mengatakan

    Sen, 7 Juli 2014 pada 5:10 pm

    gan, gimana saya bisa contac agan, ym atau hp kalau ada tolong di emailkan ya gan, soalnya saya ada yg mau saya bicarakan . tq

    Balas
    • Masino Sinaga mengatakan

      Sen, 7 Juli 2014 pada 5:22 pm

      Barusan sudah saya kirim email, gan. 🙂

      Balas
  2. Hendra mengatakan

    Sab, 27 September 2014 pada 12:31 pm

    Siang pak,
    saya mau banyak bertanya semoga di ijinkan 🙂
    saya baru banget kenal yang namanya php jadi saya masih 0
    saya ingin membuat aplikasi yang berisi tentang beberapa categori dan user

    misal user 1 hanya bisa akses ke tabel a, b ,c
    dan user 2 hanya bisa akses ke tabel d,e,f

    kemudian
    misal table a : berisi field : nama, alamat, no telp
    table b berisi nama, gaji, catetan
    nah saya ingin dari table b itu ketika input untuk filed nama otomatis bisa seleksi dari table A dengan fied nama.

    Mohon maaf mungkin kata2 saya agak sulit di cerna 🙂
    terimakaish pak

    Balas
    • Masino Sinaga mengatakan

      Sab, 27 September 2014 pada 6:56 pm

      Selamat malam. Oke saya jawab singkat saja ya, bahwa semua itu tentu bisa diimplementasikan dengan menggunakan PHPMaker. Bagaimana caranya? Silahkan Anda pelajari menu Help dari dalam PHPMaker.

      Balas
      • Hendra mengatakan

        Ming, 28 September 2014 pada 11:00 am

        wah makasih pak, ternyata ada helpnya 😀 kebiasaan buruk say nih hhehe

        Balas
        • Masino Sinaga mengatakan

          Ming, 28 September 2014 pada 11:20 am

          Sama-sama. Jangan lupa, kunjungi juga Forum Diskusi PHPMaker.

          Hampir setiap hari saya aktif di sana menjawab pertanyaan-pertanyaan member. 🙂

          Balas
  3. hendra mengatakan

    Jum, 24 Juli 2015 pada 9:51 am

    Misal saya ada mapping data barang, customer X hanya dapat memilih barang A,B,C,D,E.
    Saya sudah dapat melakukan filtering itu.
    MIsalkan direcord pertama dia sudah memilih barang B, maka bagaimana menyaring supaya pada inputan record ke 2, hanya terfilter A,C,D,E ?

    Balas
    • Masino Sinaga mengatakan

      Jum, 24 Juli 2015 pada 10:52 am

      Artikel ini semoga dapat membantu: Stock Inventory Management: Banyak Hal yang Bisa Anda Pelajari dari Project Ini.

      Balas
      • hendra mengatakan

        Jum, 24 Juli 2015 pada 1:14 pm

        Terima kasih pak, jika ingin lihat codingnya khan harus punya PMP nya 🙂

        Balas
  4. Novra mengatakan

    Sel, 16 Februari 2016 pada 3:09 pm

    Bagaimana cara menghilangkan pilihan yang sudah dipilih dari dropdownlist berdasarkan akunnya ?
    misal :
    Ada pilihan a,b,c
    lalu akun 1 sudah memilih a, maka selanjutnya hanya tampil b dan c. Sementara akun 2, pilihannya masih lengkap a,b,c

    maaf saya baru menggunakan PHP maker

    Terimakasih

    Balas
    • Masino Sinaga mengatakan

      Sel, 16 Februari 2016 pada 7:57 pm

      Anda bisa pakai kode jQuery dan tempatkan di bagian Startup Script yang terdapat di bawah Client Scripts -> Table-Specific -> sesuai halaman yang diinginkan.

      Baca topik Server Events and Client Scripts dari menu Help PHPMaker.

      Balas
  5. alex mengatakan

    Kam, 19 Mei 2016 pada 3:28 pm

    sore pak masino
    cara membuat lookup table master detil gimana ya….maksud nya sy punya kolom master sy lookup dri tble lain muncul di table master dan detil….mohon bantuanya pak…tq

    Balas
    • Masino Sinaga mengatakan

      Kam, 19 Mei 2016 pada 7:59 pm

      Baca topik Lookup Table dari menu Help PHPMaker.

      Balas
  6. fajar mengatakan

    Kam, 1 Desember 2016 pada 2:22 pm

    siang bapak masino, salam kenal,
    saya sudah menjadi pembaca setia http://www.masinosinaga.com sekitar sebulan yang lalu, sangatlah menarik artikel yang bapak tulis, sangat menginspirasi saya, dan sejak saat itu saya mulai belajar phpmaker. terimaksih pak masino.

    saya mau bertanya tentang lookup table, apakah phpmaker bisa lookup dari json, misalnya saya ingin menampilkan data poli di combobox, yang tersmpan kodepoli, dan yang tertampil di combobox tersebut adalah nama polynya. saya sudah mencari referensi di internet dan forum, tapi masih belum ada perecerahan juga, mohon kebaikanya menularkan ilmunya bapak masino, terimakasih

    Balas
    • Masino Sinaga mengatakan

      Kam, 1 Desember 2016 pada 2:30 pm

      Untuk saat ini data Lookup Table di PHPMaker hanya bisa menggunakan Database. Jadi, belum support JSON.

      Balas
  7. Yusuf mengatakan

    Jum, 23 Juni 2017 pada 10:59 am

    Pak, mau nanya misal saya punya table produk dengan field idproduk, nmproduk, status, kemudian punya table order misal field idorder, nmorder dan table orderdetil ada iddetil, idorder, idproduk, nmproduk. Saya ingin begitu saya ketik di table detil idproduk, maka otomatis muncul nmproduk dan status di table produk juga ikut berubah, misal awalnya ada menjadi tidak ada. Saya sudah coba pake modify table dengan sinkron ketiga table dalam bentuk relation tapi tidak keluar. Mohon bantuannya

    Balas
    • Masino Sinaga mengatakan

      Sab, 24 Juni 2017 pada 8:19 am

      Di PHPMaker ada fitur yang namanya Auto fill. Anda bisa menggunakan itu.

      Untuk info lebih lanjut, baca topik Lookup Table dari menu Help PHPMaker; di dalamnya ada bagian yang menjelaskan Auto fill.

      Balas
  8. Nanda mengatakan

    Jum, 25 Mei 2018 pada 9:45 am

    Pak Masino, untuk Filter Lookup apakah bisa Hanya berfungsi di Halaman Add / Edit saja,
    jadi saya bikin Filter dengan kriteria : status=’1′ di halaman Add, namun ternyata Filter tersebut terbawa juga ketika berada di Halaman List, padahal di Halaman List Rencana semua data tetap muncul (tanpa Filter)

    Balas
    • Masino Sinaga mengatakan

      Sab, 26 Mei 2018 pada 2:31 pm

      Gunakan Filter dengan kondisi sbb:

      (CurrentPageID() == "add") ? "status='1'" : "" 
      
      Balas
      • Nanda mengatakan

        Sen, 4 Juni 2018 pada 10:28 am

        oke Pak, tapi untuk Halaman EDit nya kok engga ngaruh yaa

        (CurrentPageID() == "add") ? "status='1'" : "" && (CurrentPageID() == "edit") ? "status='1'" : ""
        

        atau

        (CurrentPageID() == "add" &&   CurrentPageID() == "add" ) ? "status='1'" : "" 
        

        sudah di coba beberapa kode diatas tapi hanya halaman Add saja yang berpengaruh,
        Terimakasih

        Balas
        • Masino Sinaga mengatakan

          Jum, 8 Juni 2018 pada 11:23 pm

          (CurrentPageID() == "add" || CurrentPageID() == "edit") ? "status='1'" : ""
          
          Balas
  9. Lilg mengatakan

    Ming, 3 Juni 2018 pada 7:05 pm

    Bagaimana aplikasi yg menggunakan table lookup dengan php maker terasa berat untuk record lebih dari 100ribu, bagaimana agar aplikasi menjadi ringan?

    Balas
    • Masino Sinaga mengatakan

      Jum, 8 Juni 2018 pada 11:18 pm

      1. PHPMaker memiliki fitur Lookup Table dengan menggunakan Modal dialog yang di dalamnya ada textbox pencarian.
      2. Pasang Index di field yang ditampilkan atau digunakan untuk proses pencarian.
      3. Seharusnya tidak ada masalah kalau menggunakan Modal Dialog dan field Anda sudah di-index, karena data yang ditampilkan di Modal Dialog tadi dibagi per halaman (default 10 record per halaman).

      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

  • Mudahnya Mengubah Nilai Delay Auto Hide Success Message di PHPMaker 2025
  • Mudahnya Berpindah Layout dari Table ke Cards di Halaman List lewat PHPMaker 2025
  • Jangan Lupa Pakai AdjustSql Saat Insert atau Update Data Lewat ExecuteStatement
  • File-File yang Wajib Diperhatikan Setelah Menambah Item User Values di PHPMaker 2025
  • Begini Cara Memuat Tables dari Database Secara Dinamis di PHPMaker 2025

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Mudahnya Menyesuaikan Timezone di Calendar Report pada PHPMaker 2023
  • Nano pada Mudahnya Menyesuaikan Timezone di Calendar Report pada PHPMaker 2023
  • Charly pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023
  • Charly pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023
  • Masino Sinaga pada Mudahnya Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023

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