Cara membuat kode otomatis berdasarkan tanggal dengan PHP dan MySQL

Belajar PHP - Cara membuat kode otomatis dengan PHP dan MySQL

Belajar PHP - Hai, pada kesempatan kali ini kita akan membuat kode otomatis berdasarkan tanggal dengan PHP dan MySQL.

Yang dimaksud otomatis berdasarkan tanggal yaitu kode akan berisi tanggal yang disambung dengan nomor urut.

Semisalkan, 20-10-2019 maka kodenya akan menjadi 2010190001 (0001 pada akhir kode adalah nomor urut penginputan pada hari itu).

Nomor urut akan terus bertambah seiring dilakukannya penginputan dihari yang sama, dan apabila hari berganti maka secara otomatis tanggal pada kode akan berubah dan nomor urutnya akan diulang dari awal.

Supaya lebih jelas, kita langsung saja praktekan gengs.

Database

Disini saya buat database dengan nama penjualan dan didalamnya terdapat tb_transaksi. Berikut struktur tabel pada tb_transaksi.

Belajar PHP - Struktur tabel tb_transaksi dalam Cara membuat kode otomatis dengan PHP dan MySQL

Atau masukan kode berikut pada menu SQL untuk membuat database beserta tabelnya.
CREATE DATABASE penjualan;
USE penjualan;

CREATE TABLE tb_transaksi(
  kode_transaksi varchar(15) PRIMARY KEY,
  tanggal timestamp()
);

index.php

File ini berisi kode untuk tampilan sekaligus proses yang berkaitan dengan database.
<?php
// koneksi
$conn = mysqli_connect('localhost', 'root', '', 'penjualan');

if (!$conn) {
 echo "Koneksi gagal " . mysqli_connect_error();
}

$kode = '';

// cek kode
$query = mysqli_query($conn, "SELECT max(right(kode_transaksi, 4)) AS kode FROM tb_transaksi WHERE DATE(tanggal) = CURDATE()");

// var_dump($query);

if ($query->num_rows > 0) {
 foreach ($query as $q) {
  $no = ((int)$q['kode'])+1;
  $kd = sprintf("%04s", $no);
 }
} else {
 $kd = "0001";
}

date_default_timezone_set('Asia/Jakarta');
$kode = date('dmy').$kd;

if (isset($_POST['submit'])) {
 // simpan kode
 $simpan = mysqli_query($conn, "INSERT INTO tb_transaksi (kode_transaksi) VALUES ('".$_POST['kode']."')");
        header('Location:index.php');
}
?>

<!DOCTYPE html>
<html>
<head>
 <title>Membuat Kode Otomatis</title>
</head>
<body>
 <form method="POST" action="">
  <label>Kode Transaksi : </label>
  <input type="text" name="kode" value="<?= $kode; ?>" disabled>
  <button type="submit" name="submit">Kirim</button>
 </form>
</body>
</html>

Output:

Belajar PHP - Output Cara membuat kode otomatis dengan PHP dan MySQL

Penjelasan:
// cek kode
$query = mysqli_query($conn, "SELECT max(right(kode_transaksi, 4)) AS kode FROM tb_transaksi WHERE DATE(tanggal) = CURDATE()");

// var_dump($query);

if ($query->num_rows > 0) {
 foreach ($query as $q) {
  $no = ((int)$q['kode'])+1;
  $kd = sprintf("%04s", $no);
 }
} else {
 $kd = "0001";
}

Pada kode diatas kita melakukan pengecekan data berdasarkan tanggal sekarang, apabila sudah terdapat data maka kondisi pertama dijalankan dan secara otomatis nomor urut akan ditambah 1 (+1).

Jika belum terdapat data maka kondisi kedua akan dijalankan dan nomor urut 0001.

if (isset($_POST['submit'])) {
 // simpan kode
 $simpan = mysqli_query($conn, "INSERT INTO tb_transaksi (kode_transaksi) VALUES ('".$_POST['kode']."')");
        header('Location:index.php');
}

Kode diatas akan dijalankan ketika tombol kirim diklik dan kode transaksi secara otomatis akan berubah.

Nah, sampai sini kita sudah berhasil membuat kode otomatis dengan native PHP dan MySQL dan semoga bermanfaat. Terimakasih dan sampai jumpa.

Posting Komentar

1 Komentar