Membuat Kode Otomatis di PHP

Membuat Kode Otomatis di PHP

Pembuatan kode otomatis pada PHP sangat diperlukan ketika ingin memasukan data, namun data yang ingin kita input akan diberikan kode sesuai dengan urutannya dan tidak boleh sama antara data yang satu dengan data yang lainnya.

Untuk itulah kita akan membuat sebuah fungsi php yang nanti secara otomatis ketika kita memasukan data baru, akan diberikan kode dan tentunya berbeda-beda, tanpa kita harus menghafal apakah kode tersebut sudah digunakan atau belum.

Disini kita akan membuat 3 buah file:
1. File Input
2. File Proses dan
3. Koneksi

Untuk databasenya buatlah seperti berikut ini:

-- phpMyAdmin SQL Dump
-- version 4.5.2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jun 07, 2017 at 06:46 AM
-- Server version: 10.1.16-MariaDB
-- PHP Version: 5.6.24

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `db_jual`
--

-- --------------------------------------------------------

--
-- Table structure for table `tbl_barang`
--

CREATE TABLE `tbl_barang` (
  `no_faktur` varchar(5) NOT NULL,
  `nama_barang` varchar(20) NOT NULL,
  `jumlah` int(7) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tbl_barang`
--

INSERT INTO `tbl_barang` (`no_faktur`, `nama_barang`, `jumlah`) VALUES
('F0001', 'Gula', 1),
('F0002', 'Beras', 10);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `tbl_barang`
--
ALTER TABLE `tbl_barang`
  ADD PRIMARY KEY (`no_faktur`);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Untuk Form Inputnya

<?php
	include "koneksi.php";

	//membaca kode barang terbesar
	$sql = "SELECT max(no_faktur) FROM tbl_barang";
	$query = mysql_query($sql) or die (mysql_error());

	$kode_faktur = mysql_fetch_array($query);

	if($kode_faktur){
		$nilai = substr($kode_faktur[0], 1);
		$kode = (int) $nilai;

		//tambahkan sebanyak + 1
		$kode = $kode + 1;
		$auto_kode = "F" .str_pad($kode, 4, "0",  STR_PAD_LEFT);
	} else {
		$auto_kode = "F0001";
	}

?>
<!DOCTYPE html>
<html>
<head>
	<title>Input Barang | YELLOWWEB.ID</title>
</head>
<body>
	<h3>Form Tambah Data Barang</h3>
	
	<form action="proses-insert.php" method="POST">
		<table>
			<tr>
				<td>No. Faktur</td>
				<td>:</td>
				<td><input type="text" name="nofak" value="<?php echo $auto_kode;?>" readonly="readonly"></td>
			</tr>
			<tr>
				<td>Nama Barang</td>
				<td>:</td>
				<td><input type="text" name="nama_brg"></td>
			</tr>
			<tr>
				<td>Jumlah</td>
				<td>:</td>
				<td><input type="text" name="jumlah_brg"></td>
			</tr>
			<tr>
				<td></td>
				<td></td>
				<td>
					<input type="submit" name="simpan" value="SIMPAN">
				</td>
			</tr>
		</table>
	</form>

</body>
</html>

Untuk File Prosesnya

<?php
	include "koneksi.php";

	$nama = $_POST["nama_brg"];
	$jml = $_POST["jumlah_brg"];
	$id = $_POST["nofak"];

	$sql = "INSERT INTO tbl_barang VALUES ('$id','$nama','$jml')";
	$query = mysql_query($sql) or die (mysql_error());

	echo "Sukses!";

Ketika sudah selesai di input maka akan diarahkan menuju file proses, kemudian dari sini silahkan teman-teman bisa cek di databasenya, karena kita tidak membuat halaman tampil datanya.

Silahkan berkreasi, dan sampai jumpa di artikel berikutnya ya….

Comments are closed.