Validasi data yang sudah ada pada database dengan PHP

validasi data yang sudah ada pada database dengan php

Belajar PHP - Cara validasi data yang sudah ada pada database dengan PHP untuk mencegah terjadinya data ganda. Maka diperlukan pengecekan data terlebih dahulu.

Pada artikel kali ini kita akan membuat proses validasi sederhana dengan membuat sebuat form. Langsung saja tanpa basa - basi lagi.

Pertama, disini saya punya database dengan nama test, dan didalamnya ada sebuah tabel dengan nama tb_test.

Struktur tabel tb_test yaitu seperti gambar dibawah ini.



Lalu buat file PHP yang nantinya terdapat sebuah form dan tabel untuk menampilkan datanya. Disini saya beri nama validasi.php.

validasi.php

<?php

// koneksi database
$conn = mysqli_connect('localhost', 'root', '', 'test');

// cek nis
if (isset($_POST['nis'])) {
 $nis = $_POST['nis'];

 $query = mysqli_query($conn, "SELECT nis FROM tb_test WHERE nis = '$nis'"); 

 if($query->num_rows > 0) {
  echo "<script>alert('NIS sudah terdaftar');</script>";
 } else {
  mysqli_query($conn, "INSERT INTO tb_test (nis) VALUES ('$nis')");
 }
}

// tampilkan data
$stmt = mysqli_query($conn, "SELECT nis FROM tb_test");

?>

<!DOCTYPE html>
<html>
<head>
 <title>Validasi data yang sudah ada didatabase dengan PHP</title>
</head>
<body>

 <h3>Contoh validasi NIS</h3>

 <form method="POST" action="">
  <label for="nis">Masukan NIS</label>
  <input type="text" name="nis" id="nis">
  <button type="submit" name="submit">Kirim</button>
 </form>
 
 <br/>
 <hr/>
 <br/>

 <table border="1">
  <tr>
   <td>No.</td>
   <td>NIS</td>
  </tr>

  <?php
  $no = 1;
  foreach ($stmt as $rows) :
  ?>
   
  <tr>
   <td><?= $no++; ?></td>
   <td><?= $rows['nis']; ?></td>
  </tr>

  <?php endforeach; ?>

 </table>

</body>
</html>

Penjelasan:

// cek nis
if (isset($_POST['nis'])) {
 $nis = $_POST['nis'];

 $query = mysqli_query($conn, "SELECT nis FROM tb_test WHERE nis = '$nis'"); 

 if($query->num_rows > 0) {
  echo "<script>alert('NIS sudah terdaftar');</script>";
 } else {
  mysqli_query($conn, "INSERT INTO tb_test (nis) VALUES ('$nis')");
 }
}

Pada kode diatas kita mengecek data nis dengan perintah SELECT nis FROM tb_test WHERE nis = '$nis' lalu dilanjut dengan membuat kondisinya.

num_rows digunakan untuk mengetahui baris data pada variabel $query, jika nis yang dikirimkan sudah ada dalam database maka $query->num_rows akan berisi nilai sesuai jumlah data yang sama, sehingga akan menjalankan kondisi pertama.

Dan sebaliknya, jika nis yang dimasukan tidak ada dalam database maka akan menjalankan kondisi kedua, yakin insert data ke database.

Posting Komentar

1 Komentar