Cara Menghindari Duplikasi Data Input (Data Ganda) di PHP MYSQL

Cara Menghindari Duplikasi Data Input (Data Ganda) di PHP MYSQL

Data merupakan sebuah informasi yang sangat penting, sehingga dalam proses input sampai pada proses penyimpanannya harus dilakukan pengecekan terlebih dahulu. Hal ini bertujuan untuk menghidari terjadinya penginputan data yang sama yang menyebabkan duplikasi atau penumpukkan data.

Nah, hal inipun sudah lama diterapkan oleh perusahaan-perusahaan besar sekelas Google dan juga Facebook. Satu contoh, ketika kita hendak membuat sebuah akun Google atau akun Facebook, ketika kita menginputkan semua data yang diperlukan lalu mengirimnya, disanalah akan dilakukannya proses pengecekan data terlebih dahulu apakan data yang diinput sudah ada atau belum, sebelum data tersebut disimpan, sehingga tidak ada satupun nama email yang sama.

Sama halnya dengan proses input yang dilakukan pada sebuah aplikasi yang dibangun dengan menggunakan PHP dan MySQL. Sebelum data yang diinput disimpan didatabase, sebaiknya terlebih dahulu dilakukan pengecekan atau validasi data yang akan disimpan dengan data yang sudah ada di database.



Query

Cara untuk menghindari duplikasi data bisa menggunakan query dan beberapa kondisi syntax PHP. Query untuk mengecekan data di database, dan syntax untuk memberikan kondisi yang harus dijalankan ketika query dieksekusi.

Studi Kasus
Saya ingin menginput data pengawai, data yang akan diinput adalah:
1. NIP
2. Nama

Sehingga saya akan memiliki 2 variabel yaitu:
1. $nip = $_POST['nip'];
2. $nama = $_POST['nama'];

Data tersebut akan disimpan di tabel tb_pegawai.

Sebelum data pegawai tersebut di insert ke database, kita query dulu apakan ada data pegawai di database dengan nip pegawai yang akan di input sekerang.

$cek = mysql_query("SELECT nip FROM tb_pegawai WHERE nip='$nip'") or die(mysql_error);

Setelah kita query, sekarang kita berikan kondisi menggunakan syntax PHP pada saat query tersebut dieksekusi. Kondisinya yaitu:
  1. Jika sudah ada data pegawai dengan nip yang akan diinput sekarang, kita kasih warning (pesan peringatan) bahwa data tersebut sudah ada dan kita arahkan ke halaman tertentu misal.
  2. Jika belum ada data pegawai dengan nip yang akan diinput sekarang, kita query lagi untuk insert ke database.
Kondisi pertama:
if($ada=mysql_num_rows($cek)>0) {
    echo "<script>window.alert('Maaf, nip $_POST[nama] sudah ada. Harap periksa kembali data Anda.')
    location='?page=input'</script>";
}

Kondisi kedua
else {
    mysql_query("INSERT INTO tb_pegawai SET id='',nip='$nip',nama='$nama'");
    echo "<script>location='?page=pegawai'</script>";
}

Sehingga kode lengkapnya akan seperti berikut:
if(isset($_POST['input'])) {
    $nip = $_POST['nip'];
    $nama = $_POST['nama'];
    $cek = mysql_query("SELECT nip FROM tb_pegawai WHERE nip='$nip'");
    if($ada=mysql_num_rows($cek)>0) {
        echo "<script>window.alert('Maaf, pegawai dengan nip $nip sudah ada. Harap periksa kembali data Anda.')
        location='?page=input'</script>";
    } else {
        mysql_query("INSERT INTO tb_pegawai SET id='',nip='$nip',nama='$nama'");
        echo "<script>location='?page=pegawai'</script>";
    }
}

Yosh, demikian tutorial cara menghindari duplikasi data di PHP MySQL.

SEMOGA MEMBANTU DAN BERMANFAAT



Berkomentarlah sesuai artikel.
No spam, no SARA