Masino Sinaga

Web Development, PHPMaker, & PHP Report Maker

Anda di sini: Beranda / PHPMaker / Mengetahui ID Terakhir dari Record yang Ditambahkan di Aplikasi Web dari PHPMaker
Antara Page_Load dan Page_Render di Aplikasi Web dari PHPMaker
Mencegah Pengguna Menambah Baris Baru di Tabel Detail Aplikasi Web dari PHPMaker

Mengetahui ID Terakhir dari Record yang Ditambahkan di Aplikasi Web dari PHPMaker

Juni 8, 2015 oleh Masino Sinaga 22 Komentar

Sebagai Web Developer, kita pasti pernah ingin mendapatkan ID dari Record yang terakhir ditambahkan di suatu table pada Aplikasi Web yang kita hasilkan. Apalagi jika ID tersebut nilainya bertambah secara otomatis atau auto-increment, dan ada relatif banyak Pengguna yang menambahkan data secara bersamaan. Tentu besar kemungkinan ID yang terakhir adalah ID milik Record yang terakhir ditambahkan oleh Pengguna lainnya.

Percaya atau tidak, jika Anda membangun Aplikasi Web dengan menggunakan PHPMaker, maka hal ini bisa diatasi dengan sangat mudah, cepat, dan lagi-lagi: menyenangkan! Mengapa?

Alasan Pertama, karena PHPMaker sudah menyediakan server event Row_Inserted yang akan dipanggil setelah sebuah Record berhasil ditambahkan ke Database. Dengan menggunakan server event ini, maka kita bisa mengoptimalkan variabel $rsnew untuk mendapatkan nilai ID dari Record yang terakhir ditambahkan di table yang bertalian.

Katakanlah di table suppliers terdapat field SupplierID yang tipenya Integer dan Auto Increment. Untuk mengetahui ID terakhir, maka kita cukup menaruh kode berikut ke server event tadi, sehingga kode selengkapnya menjadi:

// Row Inserted event
function Row_Inserted($rsold, &$rsnew) {
	//echo "Row Inserted"
	$this->setSuccessMessage("ID Terakhir: ".$rsnew["SupplierID"]);
}

Alasan Kedua, karena PHPMaker menggunakan library ADODB, dan ADODB sudah menyediakan sebuah method yang akan mengembalikan nilai ID dari Record yang terakhir ditambahkan dengan mengoptimalkan object Connection miliknya. Nama method itu adalah Insert_ID.

Method ini sangat terasa sekali manfaatnya jika kita mengeksekusi SQL INSERT INTO secara langsung menggunakan object Connection milik ADODB, sehingga kita tidak bisa mengandalkan server event di atas tadi, seperti yang ditunjukkan pada kode berikut:

global $conn;
$conn->Execute("INSERT INTO Tabelku VALUES (0, 'Deskripsi tertentu')");

Nah, untuk mengetahui ID dari Record yang terakhir dimasukkan itu, maka kita cukup menggunakan kode berikut:

$this->setSuccessMessage("ID yang terakhir adalah: " . $conn->Insert_ID());

Sebagai informasi, kedua cara di atas sudah berhasil saya buktikan dengan menggunakan database MySQL pada PHPMaker versi 11.0.6.

Betapa mudahnya, bukan? 😀

Ditempatkan di bawah: PHPMaker Ditag dengan:ADODB, auto increment, Belajar PHPMaker, Connection, Insert_ID, last inserted id, PHPMaker Indonesia, Row_Inserted, 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.

Antara Page_Load dan Page_Render di Aplikasi Web dari PHPMaker
Mencegah Pengguna Menambah Baris Baru di Tabel Detail Aplikasi Web dari PHPMaker

Comments

  1. efendy mengatakan

    Juni 8, 2015 pada 8:10 pm

    malam pak, bapak tau cara penjumlahan/pengurangan tgl & jam?
    misalkan
    field masuk : 07/06/2015 19:38:17
    field keluar : 07/06/2015 21:12:10
    jam = keluar – masuk
    saya coba2 hasilnya tetap 0

    kalau misalkan :
    field masuk : 07/06/2015 19:38:17
    field keluar : 08/06/2015 21:12:10
    baru ada hasilnya tapi tetap 1 (tgl saja)
    ada caranya pak? terimakasih.

    Balas
    • Masino Sinaga mengatakan

      Juni 9, 2015 pada 8:38 am

      Anda menggunakan function apa untuk menghitung selisihnya?

      Balas
      • efendy mengatakan

        Juni 10, 2015 pada 9:41 am

        $(document).ready(function() {
        	$("#x_start_date, #x_end_date").keyup(function () {
        	   $("#x_selisih_hr_jam").val($("#x_start_date").val() - $("#x_end_date").val());    
        	}); 
        });
        
        Balas
        • Masino Sinaga mengatakan

          Juni 10, 2015 pada 10:41 pm

          Kalau kode seperti itu memang hanya untuk menghitung selisih hari dari dua buah tanggal. Lalu Anda menginginkan hasilnya seperti apa?

          Balas
  2. efendy mengatakan

    Juni 12, 2015 pada 3:18 pm

    begini pak, misalkan :
    tgl awal adalah 18-06-2015 09:00:00
    tgl akhir adalah 19-06-2015 18:30:00
    jadi akhir – awal = 1 hari 03.30 jam

    Balas
    • efendy mengatakan

      Juni 12, 2015 pada 3:23 pm

      maaf, jadi akhir – awal = 1 hari 09.30 jam

      Balas
      • Masino Sinaga mengatakan

        Juni 12, 2015 pada 4:23 pm

        Google ini: calculate difference between two dates in jquery.

        Balas
  3. Rijal mengatakan

    Agustus 4, 2015 pada 8:43 pm

    Pak Masino, dulu saya Pernah coba Tutorial ini saya implementasikan di Projek yg saya buat (Projek belajar) Pake PHP Maker 11
    berhasil, tapi ketika Project PHP Maker 11 saya (copy) dan saya coba buka pake PHP Maker 12, kemudian sy Generate Ulang kok malah ada yg eror ya ?

    Fatal error: Call to undefined method cbarang::setSuccessMessage() in C:\xampp\htdocs\app\baranginfo.php on line 8152
    kode nya seperti ini

    function Row_Inserted($rsold, &$rsnew) {
        $kode=$_POST[x_kode_barang];
        $barang=$_POST[x_nama_barang];
        $this->setSuccessMessage("Data Berhasil di Simpan, Kode Barang adalah <font size=5><b>" . $kode . "-" .$barang ."</b></font>");    
    }
    

    dulu ketika di Generate pake PHP Maker 11 aman2 saja2,
    dan setelah saya coba buka kembali File asli Pake PHP Maker 11 masih tetep tidak eror (aman2 saja)
    kira2 apa ya Pak, apakah ketika dibuka di Versi 12 ada yg harus di Setting ulang ? atau ada yg harus di rubah di kode nya ?
    atau mungkin ada pengaruh tabel/ View yg lain dalam 1 projek ?
    terimakasih..

    Balas
    • Rijal mengatakan

      Agustus 4, 2015 pada 9:39 pm

      sebagai informasi :
      error tersebut terjadi ketika login berhasil, namun ketika diarahkan ke halaman lain (view_baranglist.php) Tidak Error.
      dan ketika Logout kembali error seperti diatas (dan tidak bisa logout) session Login masih tersimpan.

      Balas
      • Masino Sinaga mengatakan

        Agustus 5, 2015 pada 8:27 am

        Apakah setelah proses tambah data tersebut, user diarahkan ke halaman yang dibuat dengan Custom Files?

        Balas
        • Rijal mengatakan

          Agustus 5, 2015 pada 9:54 pm

          setelah proses Tambah User diarahkan ke Form add (masih tetep di Halaman itu)
          namun setelah berhasil login User diarahkan ke Custom File (Beranda.php).
          anehnya di Form Tambah tabel tersebut tidak eror dan masih tetep bisa menampilkan Succes Message seperti diatas, eror nya hanya setelah Login dan logout.

          Balas
          • Masino Sinaga mengatakan

            Agustus 6, 2015 pada 5:44 am

            Solusinya, tambahkan kode berikut ke baris terakhir bagian Content dari Custom Files pada project PHPMaker yang bertalian:

            <?php
            	CurrentPage()->ShowMessage();
            ?>
            
            Balas
            • Rijal mengatakan

              Agustus 8, 2015 pada 9:42 pm

              Terimakasih Responnya.
              saya sudah coba taruh Script diatas di barris terakhir Custom Files (Beranda.php) tapi masih tetep error Pak, kebetulan utk Custom File nya lebih dari satu apakah harus meletakkan Sript diatas ke semua Custom File ?

              tapi setelah saya telusuri ternyata Penyebab error nya adalah di Pengaturan PHP=>General Option=> Audit Trail => Track Login/ Logout aktivites. jika pilihan tersebut di pilih (dicentang) maka kasus error seperti diatas terjadi, tapi jika tidak di centang tidak error.

              Balas
              • Masino Sinaga mengatakan

                Agustus 8, 2015 pada 11:45 pm

                Iya, di semua Custom Files yang ada di project tersebut.

                Balas
                • Rijal mengatakan

                  Agustus 9, 2015 pada 7:44 am

                  oke Pak Masino, saya coba dulu terimakasih.

                • Masino Sinaga mengatakan

                  Agustus 9, 2015 pada 12:49 pm

                  Sama-sama.

  4. Teguh mengatakan

    Maret 19, 2017 pada 9:12 am

    Grup | Nomor | Nama
    1 1 Duren
    1 2 Semangka
    1 3 Jeruk
    2 1 Cicak
    2 2 Burung
    3 1 DKI Jakarta
    3 2 Jawa Barat
    3 3 Jawa Tengah

    Pak masino, mau tanya, membuat id auto increment (nomor) by group (grup) seperti contoh diatas di phpmaker, bagaimana caranya, mohon pencerahannya pak. Terima kasih sebelumnya

    Balas
    • Masino Sinaga mengatakan

      Maret 19, 2017 pada 12:07 pm

      Prinsipnya sama dengan yang sudah saya bahas di artikel Membuat Kode Otomatis Saat Data Ditambah di Aplikasi Web dari PHPMaker.

      Tinggal modifikasi saja perintah SQL SELECT supaya dikelompokkan berdasarkan field Grup.

      Balas
  5. Dayan Leksono Putro mengatakan

    Agustus 2, 2017 pada 11:43 pm

    Tanya lagi Pak Masino, Kalau semacam struk,yang bisa ngepirnt setelah row_inserted bagaimana?
    yang saya sudah lakukan
    1. membuat mengcostume view menjadi format printer, rencanya langsung new tab setelah row_insert kemudian menggunakan window.print,

    Balas
    • Masino Sinaga mengatakan

      Agustus 11, 2017 pada 12:54 pm

      Maaf, belum bisa bantu karena belum pernah buat seperti itu. Silahkan Googling aja ya.

      Balas
  6. jefri mengatakan

    April 18, 2018 pada 9:52 pm

    Malam pak masino, saya beginer phpmaker, saya ingin membuat database anggota koperasi. saya sudah bikin tabel dengan kolom id ( primary key), nomor anggota, nama lengkap, alamat,tanggal lahir, no telp. Bagaimana cara membuat nomor anggota auto increment / auto generate dengan perpaduan tanggal lahir, kalimat, auto increment? Misalnya saya ingin add anggota baru bernama budi tanggal lahir 1 Januari 1998, Maka nomor anggotanya adalah 19980101KOPERASI0001 ( otomatis terbuat ).

    Terima kasih

    Salam Sejahtera

    Balas
    • Masino Sinaga mengatakan

      Mei 2, 2018 pada 10:01 pm

      Artikel ini semoga bisa membantu: Membuat Kode Otomatis Saat Data Ditambah di Aplikasi Web dari PHPMaker.

      Balas

Tinggalkan Balasan ke Masino Sinaga 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

  • Betapa Mudahnya Mengubah Link atau URL Export to PDF dari PHPMaker 2021
  • Nomor Urut Record di Export Data pada PHPMaker 2020 dan PHPMaker 2021
  • Hati-hati Menggunakan Setting Lookup Cache di PHPMaker 2021
  • Menampilkan Halaman Default untuk Pengunjung dan Pengguna dari PHPMaker 2021
  • Server Event Page_Render dan Page_Rendering di PHPMaker, Apa Sih Bedanya?

Menu

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

Komentar Terbaru

  • Betapa Mudahnya Mengubah Link atau URL Export to PDF dari PHPMaker 2021 – Masino Sinaga pada Mudahnya Mengubah URL Export Data di Aplikasi Web dari PHPMaker
  • Masino Sinaga pada Awas Menyesal Lho, Kalau Belum Pakai PHPMaker 2021!
  • nur syamsu pada Cihuuuyyyy … PHPMaker 2021 Sudah Dirilis
  • nur syamsu pada Cihuuuyyyy … PHPMaker 2021 Sudah Dirilis
  • nur syamsu pada Awas Menyesal Lho, Kalau Belum Pakai 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