Masino Sinaga

Web Development and PHPMaker

Anda di sini: Beranda / PHPMaker / Mudahnya Memperbarui 4 Field Ini Secara Otomatis di Aplikasi Web dari PHPMaker
Mudahnya Membuat Hanya Satu Record Default di Aplikasi Web dari PHPMaker
Mudahnya Menampilkan Total di Kolom Baru pada Aplikasi Web dari PHPMaker

Mudahnya Memperbarui 4 Field Ini Secara Otomatis di Aplikasi Web dari PHPMaker

Jum, 28 November 2014 oleh Masino Sinaga 15 Komentar

Tidak semua Field harus dimasukkan datanya oleh Pengguna saat menginput atau memperbarui data. Pasti akan ada beberapa Field yang datanya akan diisi secara otomatis oleh sistem, seperti Tanggal/Jam maupun Username dari Pengguna yang sedang memasukkan atau memperbarui data tadi. Itu artinya, Field yang bertalian sebaiknya disembunyikan dari form Add maupun Edit.

Ada empat Field yang biasanya terlibat dalam business-logic seperti tadi. Keempat Field terdiri dari dua Field untuk proses penambahan data, dan dua Field lainnya untuk proses pengubahan/pemutahiran data. Sekali lagi, keempat Field ini pantang hukumnya untuk ditampilkan saat Pengguna menambah atau memperbarui data.

Katakanlah untuk proses penambahan data kita misalkan nama kedua Field tersebut adalah User_Tambah dan Tanggal_Tambah, sedangkan untuk proses pemutahiran data kita misalkan nama kedua Field lainnya itu adalah User_Ubah dan Tanggal_Ubah. Tentu nama Field ini tidak selalu harus sama dengan contoh barusan. Anda bebas menggunakan nama Field lainnya.

Pertanyaannya adalah, bagaimana cara kita membuat keempat Field tadi akan terisi otomatis datanya dari sistem? Artinya, di samping Pengguna tidak boleh melihat apalagi menginput data terkait untuk keempat Field tadi, maka kita harus mengantisipasi supaya keempat Field tadi nilainya terisi saat proses penambahan dan/atau pemutahiran data.

Beruntunglah Anda jika menggunakan PHPMaker untuk membangun Aplikasi Web, karena hal ini dapat diimplementasikan dengan sangat mudah dan cepat. PHPMaker lagi-lagi telah menyediakan fungsi global yang terkait dengan keempat Field tadi di Aplikasi Web yang dihasilkan olehnya. Sistem akan memperbarui keempat Field tadi secara otomatis tanpa harus diinput secara eksplisit oleh Pengguna akhir Aplikasi Web Anda.

Penasaran ingin tahu caranya? Sebelum kita mulai, maka pastikan di tabel Anda sudah memiliki keempat Field di atas tadi. Untuk simplifikasi, kita menggunakan keempat nama Field pada contoh di atas tadi.

Baiklah kalau begitu. Silahkan ikuti langkah-langkah berikut dengan teliti:

  1. Klik salah satu tabel yang diinginkan dari project PHPMaker Anda, lalu pastikan tab Fields di panel sebelah kanan sudah terpilih.
  2. Klik field User_Ubah, lalu di kolom Auto-Update Value pilih CurrentUserName().
  3. Klik field Tanggal_Ubah, lalu di kolom Auto-Update Value pilih ew_CurrentDateTime().
  4. Klik field User_Tambah, lalu scroll ke sebelah kanan sampai Anda melihat kolom Add Page, dan di kolom Default Value, ketikkan: CurrentUserName()
  5. Klik field Tanggal_Tambah, lalu scroll ke sebelah kanan sampai Anda melihat kolom Add Page, dan di kolom Default Value, ketikkan: ew_CurrentDateTime()
  6. Selanjutnya pastikan Anda sudah melihat kolom Edit Page, dan pada kolom Edit Tag yang berada di bawahnya, pilih: HIDDEN untuk keempat Field tersebut. Tujuannya supaya keempat Field ini tidak akan ditampilkan di form atau halaman Add.
  7. Terakhir, simpan perubahan tersebut di project PHPMaker Anda, lalu silahkan generate ulang semua file script dengan menggunakan PHPMaker seperti biasa.

Untuk melihat hasilnya, jalankan Aplikasi Web yang sudah di-generate tadi dari browser favorit Anda. Cobalah untuk membuka halaman Add dari tabel tadi, lalu perhatikan bahwa di form tersebut keempat Field di atas tadi tidak akan ditampilkan alias disembunyikan oleh sistem. Lanjutkan dengan mencoba menambah data baru dan pastikan sampai Anda berhasil menyimpan data tersebut.

Setelah itu, periksalah keempat Field itu dengan cara menampilkan (View) record baru tadi. Seharusnya sekarang sudah terisi datanya. Perhatikanlah bahwa antara field Tanggal_Tambah dan Tanggal_Ubah datanya tidak sama. Data di field Tanggal_Ubah biasanya lebih besar dari data di field Tanggal_Tambah.

Hal ini wajar karena data di field Tanggal_Tambah akan duluan diambil oleh sistem saat Pengguna pertama kali membuka halaman/form Add tadi. Sedangkan data di field Tanggal_Ubah akan diambil oleh sistem saat Pengguna menyimpan data tersebut ke Database. Tentu saja dalam hal ini selalu lebih besar nilai di field Tanggal_Tambah.

Artinya, selisih waktu sekian detik atau menit merupakan waktu yang diperlukan oleh Pengguna untuk menginput data di form Add tersebut. Dengan adanya data seperti ini, maka Anda dapat mengetahui durasi lamanya waktu Pengguna dalam menginput data di form Add tadi.

Selanjutnya lakukan juga untuk halaman Edit. Silahkan ubah salah satu Record yang sudah ditambahkan di proses sebelumnya. Perhatikan bahwa keempat Field di atas tadi tidak akan ditampilkan di form Edit. Setelah data berhasil disimpan, maka periksalah kembali data di field Tanggal_Ubah, maka datanya seharusnya berubah dengan data Tanggal dan Jam pada saat proses penambahan sebelumnya.

Pastikan juga bahwa Tanggal dan Jam di field Tanggal_Tambah tidak berubah saat Anda mengubah data tadi (karena kita tidak melibatkan field ini dalam proses pemutahiran data).

Dengan menggunakan keempat Field tersebut, maka ada beberapa keuntungan yang dapat diperoleh. Pertama, kita dapat mengetahui kapan sebuah Record itu pertama kali diinput dan siapa yang menginputnya. Kedua, kita juga dapat mengetahui kapan sebuah Record itu terakhir diubah dan siapa yang mengubahnya. Ketiga, kita dapat menganalisis selisih waktu antara Tanggal/Jam pertama kali data ditambah dengan Tanggal/Jam terakhir data diubah.

Jika selisih durasi waktu antara Tanggal_Tambah dan Tanggal_Ubah relatif kecil, maka kita dapat mengambil kesimpulan bahwa data tersebut baru saja ditambah dan belum pernah diubah. Tapi jika selisihnya lebih dari satu atau beberapa jam bahkan sampai lebih dari beberapa hari, maka kita dapat mengambil kesimpulan bahwa data tersebut sudah pernah diubah sejak pertama kali ditambah.

Wow, betapa cepat dan mudahnya, bukan? PHPMaker memang keren abizzzz, dah! Kagak ada lawannya, jek! 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:Auto Update, default, PHPMaker Indonesia, Row_Inserting, Row_Updating, 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.

Mudahnya Membuat Hanya Satu Record Default di Aplikasi Web dari PHPMaker
Mudahnya Menampilkan Total di Kolom Baru pada Aplikasi Web dari PHPMaker

Komentar

  1. Cak Sobri mengatakan

    Jum, 28 November 2014 pada 1:51 pm

    Cara lain bisa seperti ini om :

    1. Klik salah satu tabel yang diinginkan dari project PHPMaker Anda, lalu pastikan tab Fields di panel sebelah kanan sudah terpilih.
    2. Klik field User_Ubah dan User_Tambah, lalu di kolom Auto-Update Value pilih CurrentUserName().
    3. Klik field Tanggal_Ubah dan Tanggal_Tambah, lalu di kolom Auto-Update Value pilih ew_CurrentDateTime().
    4. Klik field User_Ubah dan Tanggal_Ubah, lalu di kolom Add hapus tanda ceklist agar tidak tampil di halaman Add
    5. Klik field User_Tambah dan Tanggal_Tambah, lalu di kolom Edit hapus tanda ceklist agar tidak tampil di halaman Edit
    6. Terakhir, simpan perubahan tersebut di project PHPMaker Anda, lalu silahkan generate ulang semua file script dengan menggunakan PHPMaker seperti biasa.

    Ini yang biasa aku pakai 🙂

    Balas
    • Masino Sinaga mengatakan

      Sab, 29 November 2014 pada 8:21 am

      Hati-hati dengan trik nomor 2 dan 3. Jika Anda menggunakan Auto-Update Value juga untuk field User_Tambah dan Tanggal_Tambah, maka saat data diubah di form Edit, kedua field ini akan selalu ikut diperbarui dengan Tanggal/Jam serta Username saat itu.

      Seharusnya kedua field tadi tidak menggunakan function dari Auto-Update Value, tapi menggunakan function yang Anda ketikkan di Default Value di bawah kolom Add Page.

      Sedangkan trik nomor 4 dan 5 dulu saya pakai itu juga, tapi cukup ribet karena kalau tidak teliti sering menjadi tertukar. Solusi yang paling simpel dan cepat yaitu cukup dengan membuatnya menjadi HIDDEN.

      Balas
  2. Septian mengatakan

    Sen, 22 Mei 2017 pada 3:31 pm

    Maaf pak masino, apakah buat pphmaker versi yang sekarang masih tetap sama memakai cara seperti itu?
    dan apakah default value dr database nya perlu di setting dahulu?

    Saya telah mencoba nya berulang2 kali, tetapi hasilnya createdby / UserTambah nya bernilai CurrentUserName.. seharusnya bernilai username yang login

    monggo tanggapannya pak 🙂

    Balas
    • Masino Sinaga mengatakan

      Rab, 24 Mei 2017 pada 5:51 pm

      Seharusnya tidak ada masalah jika Anda mengikuti ketujuh langkah di atas dengan benar.

      Balas
  3. diki mengatakan

    Sab, 24 Juni 2017 pada 10:54 pm

    malam bang, saya mau tanya bagaimana caranya auto value bila kita klik kode barang maka otomatis files nama barang terisi sesuai kode barang yang di klik

    Balas
    • Masino Sinaga mengatakan

      Rab, 28 Juni 2017 pada 8:45 am

      Anda bisa menggunakan fitur Auto fill di PHPMaker.

      Silahkan baca topik Lookup Table dari menu Help PHPMaker. Lalu lihat bagian Auto fill di dalam topik tadi.

      Balas
  4. Taufiq mengatakan

    Ming, 25 Februari 2018 pada 2:35 pm

    Halo Pak Masino

    Bagaimana jika field createdby /user tambah nya bernilai CurrentUserName/userlogin terisi otomatis

    Mohon bantuannya. Terima kasih.

    Balas
    • Masino Sinaga mengatakan

      Jum, 28 Oktober 2022 pada 11:26 am

      Wah, ini sudah 4 tahun baru terbaca sekarang, hiks. 😛

      Jawabannya ya seperti yang diterangkan pada artikel di atas tadi.

      Balas
  5. muslih mengatakan

    Jum, 28 Oktober 2022 pada 10:10 am

    Tanya gan bagaimana caranya post value untuk di proses oleh custom file setelah event add record

    Balas
    • Masino Sinaga mengatakan

      Jum, 28 Oktober 2022 pada 11:25 am

      Biasanya, saya menggunakan $_GET di Custom File-nya untuk menangkap nilai yang dikirimkan melalui parameter di dalam link dari table lain.

      Bagaimana kalau seperti itu?

      Balas
  6. Dewa Budi mengatakan

    Kam, 2 Februari 2023 pada 1:15 pm

    selamat sore Pak Masino,
    Saya ada buat report dari Page Render dengan kriteria yg dipost ke url,
    Mohon pencerahan koq tidak ada value yg terkirim ke url ya pak?
    Kalo saya coba ganti jadi string “1”, bisa terkirim ke url
    Mohon pencerahan pak masino

    function Page_Render() {
        $this->OtherOptions["addedit"]->UseDropDownButton = FALSE; // jangan gunakan style DropDownButton
        $my_options = &$this->OtherOptions; // pastikan menggunakan area OtherOptions
        $my_option = $my_options["addedit"]; // dekat tombol addedit
        $my_item = &$my_option->Add("cetak"); // tambahkan tombol baru
    
        $tglneraca = $this->TglTransaksi->CurrentValue;
        $tgl = $tglneraca;
    
        //$tgl = "1";
        //var_dump($tgl);
    
        $my_item->Body = "<a href='rneraca.php?tgl=".$tgl."' title='Print' rel="nofollow ugc"><i></i> </a>";
    }
    
    Balas
    • Masino Sinaga mengatakan

      Kam, 2 Februari 2023 pada 2:43 pm

      Itu artinya, kode

       $tglneraca = $this->TglTransaksi->CurrentValue;
      

      tidak menghasilkan apapun. Itu di halaman mana Page_Render-nya? List? View? Edit?

      Balas
      • Dewa Budi mengatakan

        Sab, 4 Februari 2023 pada 10:49 am

        Page_Render di halaman List, pak Masino.

        Balas
        • Masino Sinaga mengatakan

          Sab, 4 Februari 2023 pada 12:20 pm

          Data belum semuanya dimuat saat server event Page_Render dieksekusi. Apalagi di halaman List, data bisa lebih dari satu baris, jadi Anda tidak bisa menggunakan kode di server event Page_Render seperti tadi.

          Untuk mengambil data di halaman List, Anda disarankan untuk menggunakan server event Page_DataRendering, yang artinya saat data sedang dirender.

          Atau, Anda bisa juga menggunakan server event Row_Rendered jika ingin mengacu secara spesifik kepada kolom dan data tertentu.

          Balas
          • Dewa Budi mengatakan

            Sab, 4 Februari 2023 pada 12:33 pm

            Terima Kasih Pak Masino,
            Saya akan coba lagi

            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 Menyembunyikan Tombol Master/Detail di Halaman View pada PHPMaker 2023
  • Menampilkan atau Menyembunyikan Field Berdasarkan Data di Field Lain pada PHPMaker 2023
  • File-File Apa Saja yang Harus Digenerate Setiap Kali Menambah Table Baru di PHPMaker 2023?
  • Begini Cara Mengganti Pesan Standar Error Duplicate Key di PHPMaker 2023
  • Mudahnya Menterjemahkan Field User Values di PHPMaker 2023

Menu

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

Komentar Terbaru

  • Masino Sinaga pada Menampilkan atau Menyembunyikan Field Berdasarkan Data di Field Lain pada PHPMaker 2023
  • Masino Sinaga pada Membuat Kode Otomatis Saat Data Ditambah di Aplikasi Web dari PHPMaker
  • Kupang pada Menampilkan atau Menyembunyikan Field Berdasarkan Data di Field Lain pada PHPMaker 2023
  • Murniyati pada Membuat Kode Otomatis Saat Data Ditambah di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Membuat Kode Otomatis Saat Data Ditambah di 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 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 - 2021 | WordPress | Catat masuk | Kembali ke atas