Hallo, teman teman Dumet School. Kembali lagi dengan saya Shelli Ripati di kursus website, tempat kursus terbaik dan nomor satu. Kali ini saya akan membahas tentang cara Membuat Id Nomor Urut Berdasarkan Format Tanggal. Untuk studi case kali ini saya akan membuat nomor urut untuk transaksi order. Teman-teman mungkin pernah melihat kode transaksi order berdasarkan kode khusus lalu di ikuti dengan tanggal dan diakhiri dengan nomor urut transaksi. Yang pasti bermacam-macam membuat format nomor urut, karena disini sesuai apa yang kita mau.

Oke langkah pertama yang harus kita lakukan untuk Membuat Id Nomor Urut Berdasarkan Format Tanggal adalah membuat form input di htmlnya. Seperti pada script di bawah ini.

<!DOCTYPE html>
<html>
<head>
	<title>Membuat Id Nomor Urut Berdasarkan Tanggal</title>
</head>
<body>
	<form method="post" action="">
		<table>
			<tr>
				<td>No. Order</td>
				<td><input type="text" name="id_order" readonly="readonly" value="<?php echo $id_Order ?>"></td>
			</tr>
			<tr>
				<td>Kode Barang</td>
				<td><input type="text" name="kd_brg"></td>
			</tr>
			<tr>
				<td>Qty</td>
				<td><input type="text" name="qty"></td>
			</tr>
			<tr>
				<td>Harga</td>
				<td><input type="text" name="hrg"></td>
			</tr>
			<tr>
				<td>Total</td>
				<td><input type="text" name="total"></td>
			</tr>
		</table>
		<input type="submit" name="submit" value="Submit">
		<input type="reset" name="reset" value="Cancel">
	</form>
</body>
</html>

Setelah itu kita buat databasenya terlebih dahulu. Seperti pada script di bawah ini.

CREATE TABLE sales(
	id INT (9) NOT NULL,
	no_order VARCHAR (255) NOT NULL,
	kd_brg VARCHAR (255) NOT NULL,
	qty INT (9) NOT NULL,
hrg INT (9) NOT NULL,
	total INT (9) NOT NULL,
	PRIMARY KEY (id)
);

Nah langkah selanjutkan kita masuk ke php untuk membuat no urut ordernya serta membuat koneksi ke database dan mengatur timezonenya. Seperti pada script di bawah ini.

//KONEKSI DATABASE
$servername = "localhost";
$user = "root";
$pass = "";
$dbname = "shelli";

$connection = mysqli_connect($servername, $user, $pass, $dbname);

if (!$connection){
	die ("Connection Failed :". mysqli_connect_error());
}
//TIMEZONE
date_default_timezone_set("Asia/Jakarta");
$date= date("Y-m-d");

// NOMOR URUT ORDER
$query =mysqli_query($connection, "SELECT max(no_order) as maxKode FROM sales");
$data = mysqli_fetch_array($query);
$noOrder = $data['maxKode'];
$noUrut = (int) substr($noOrder, 9, 3);
$noUrut++;
$char = "SO";
$tahun=substr($date, 0, 4);
$bulan=substr($date, 5, 2);
$id_Order = $char .$tahun .$bulan . sprintf("%03s", $noUrut);

Nah, jika teman-teman perhatikan pada $id_Order disini saya menggunakan kode khusus yang saya buat sendiri dengan format “SO” atau biasa disebut sales order, kemudian di sambung dengan tahun sekarang, lalu di ikuti dengan bulan dan terakhir no urut dari transaksi itu sendiri. Seperti pada gambar di bawah ini.

Membuat Id Nomor Urut Berdasarkan Format Tanggal

Langkah terakhir untuk mengetahui bahwa nomor urut order ini berjalan atau tidak maka kita butuh proses input ke database agar terlihat jika kita input transaksi kedua nomor urut ordernya berhasil dijalankan. Berikut script proses inputnya ya teman-teman.

// INPUT DATA
if(isset($_POST["submit"])){
  $id_order=$_POST["id_order"];
  $kd_brg=$_POST["kd_brg"];
  $qty=$_POST["qty"];
  $hrg=$_POST["hrg"];
  $total=$_POST["total"];

  mysqli_query($connection, "INSERT INTO sales VALUES ('', '$id_order', '$kd_brg', '$qty', '$hrg', '$total')");
  header("location:nourut.php");
}

Jika sudah maka teman-teman bisa langsung menjalankan proses inputnya. Maka secara otomatis nomor order yang kita buat dengan format yang kita inginkan akan berhasil dijalankan. Demikian artikel tentang cara Membuat Id Nomor Urut Berdasarkan Format Tanggal. Semoga bermanfaat dan selamat mencoba.