Input kode barang otomatis dengan PHP
Kode dalam sebuah table pada database merupakan sebuah kode unik yang dibuat untuk mengidentifikasi record tertentu. Kode pada sebuah table umumnya memiliki key index adalah primary key dimana kode ini dibuat unik (tidak ada duplikasi). Penginputan kode bisa diinput secara manual, tapi kali ini saya ingin membagikan bagaimana membuat kode otomatis saat penginputan sehingga kita tidak perlu lagi mencari kode terakhir apa yang telah kita input dan tentunya menghindari terjadinya duplikasi data atau record, karena pencarian nilai akhir kode pada table sudah dibuat dalam bentuk sebuah kode program.
Berikut ini cara untuk membuat kode otomatis dengan PHP.
1. Siapkan database dan table barang.
2. Lalu buatlah sebuah kode program yang disimpan dengan nama misalnya "barang.php". Dibawah ini adalah kode program tersebut. Kamu tinggal mengcopy paste saja kode dibawah ini.
<html>
<head>
<title>Manampilkan kode barang berurutan secara otomatis</title>
</head>
<body>
<?php
$koneksi=mysqli_connect("localhost","root","","db_toko");
$cek=mysqli_query($koneksi,"select max(kd_barang) as max_kd_barang from tb_barang");
while($row=mysqli_fetch_array($cek)){
$max_kd_barang=$row['max_kd_barang'];
}
if(!empty($max_kd_barang)){
$nourut=substr($max_kd_barang,-3);
$kd_barang="B".sprintf("%03s", $nourut+=1);
}
else{
$kd_barang="B001";
}
if(isset($_POST['submit'])){
$tambah=mysqli_query($koneksi,"insert into tb_barang values('$_POST[kd_barang]','$_POST[nm_barang]','$_POST[satuan]','$_POST[harga]','$_POST[stok]')");
if($tambah){ ?>
<script>alert("Data <?php echo $kd_barang;?> telah ditambahkan");window.location.href="tes2.php"</script>
<?php }
else{?>
<script>alert("Data gagal ditambahkan");window.location.href="tes2.php"</script>
<?php }
}
?>
<form method="post">
<table border=1>
<tr>
<th colspan=2>Tambah Barang</th>
</tr>
<tr>
<td>Kode</td>
<td><input type="text" maxlength="5" name="kd_barang" value="<?php echo $kd_barang;?>" readonly></td>
</tr>
<tr>
<td>Nama Barang</td>
<td><input type="text" maxlength="50" name="nm_barang" required></td>
</tr>
<tr>
<td>Satuan</td>
<td><input type="text" maxlength="10" name="satuan" required></td>
</tr>
<tr>
<td>Harga</td>
<td><input type="text" name="harga" required></td>
</tr>
<tr>
<td>Stok</td>
<td><input type="number" min="0" max="100" name="stok" required></td>
</tr>
<tr>
<td colspan=2 align=right><input type="submit" name="submit" value="Proses"></td>
</tr>
</table>
</form>
</body>
</html>
Penjelasan kode:
1. Membuat kode pencarian record dengan nilai maksimal menggunakan mysql atau mysqli.
$cek=mysqli_query($koneksi,"select max(kd_barang) as max_kd_barang from tb_barang");
2. Membuat kode nourut yang ditentukan dari nilai maksimal record yang telah kita temukan dengan kode diatas.
$nourut=substr($max_kd_barang,-3);
$kd_barang="B".sprintf("%03s", $nourut+=1);
Mudah bukan? Selamat mencoba,,, :)
Comments
Post a Comment