Membuat nomor urut secara otomatis pada database MySQL menggunakan php

Waktu dulu pernah saya tulis tutorial serupa tentang Cara membuat nomor urut terbentuk secara otomatis pada database MySQL, hanya saja kali ini saya akan memberikan contoh pemrosesan nya menggunakan php, yang mana pada saat pemrosesanya nanti akan dibuatkan query ke MySQL terlebih dahulu untuk mengambil data nomor yang terakhir, dan nantinya data nomor tersebut akan ditambah 1 (satu) sebelum dimasukan ke table database.

Baiklah, kita langsung saja membuatkan contohnya....
Pertama-tama silahkan buat terlebih dahulu database baru bernama terserah anda, dan tambahkan table beserta field-field nya, silahkan copy saja contoh table dibawah ini agar lebih mempercepat tutorial ini, hehe...


CREATE TABLE `namatable` (
  `nomor` int(11) NOT NULL,
  `nama` varchar(50) NOT NULL,
  `alamat` varchar(100) NOT NULL,
  PRIMARY KEY  (`nomor`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Baiklah, database baru berikut contoh table diatas sudah terbentuk, kemudian silahkan buatlah koneksi ke MySQL nya menggunakan php, seperti contoh file config.php dibawah ini:

File config.php

<?php
//Buat koneksi sederhana ke database, sesuaikan data login ke server MySQL nya
//Server(localhost), Port(3308), Username(root), Password(1234)
$connect = mysql_connect("localhost:3308","root","1234");
//Sesuaikan nama table nya
mysql_select_db("namadatabase", $connect);
?>

Silahkan sesuaikan koneksi diatas dengan MySQL Server yang anda miliki, seperti nama server, nomor Port (jika menggunakan Port yang berbeda), username, dan password nya...
Setelah itu, silahkan buatlah sebuah Formulir untuk menginputkan data baru nya, seperti contoh form.php dibawah ini:

File form.php

<h2>Masukan Data Baru!</h2>
<table>
<form name="insert" action="proses.php" method="post">
<tr><td style="float:right;">Nama: </td><td><input type="text" name="nama" /></td></tr>
<tr><td style="float:right;">Alamat: </td><td><input type="text" name="alamat" /></td></tr>
<tr><td colspan="2"><input type="submit" name="submit" value="Kirim" style="float:right;" /></td></tr>
</form>
</table>
<a href="index.php">Lihat data yang telah ada >></a>

ScreenShoot:

Tampilan Form pada Browser FireFox

Data baru yang dimasukan pada form diatas akan dibawa dan di proses menggunakan Post Method ke file proses.php dibawah... Silahkan anda perhatikan, form diatas tidak menyertakan form nomor, padahal field nomor terdapat pada database yang telah dibuat tadi... Memang khususnya data nomor akan ditambahkan nanti saat pemrosesan berlangsung, ide nya seperti ini:

>> Data baru dimasukan pada form.php, kemudian akan di proses oleh file proses.php
>> Bersamaan dengan pemrosesan tersebut, Query ke MySQL akan berlangsung untuk mengambil data nomor yang terakhir dimasukan sebelumnya
>> Kemudian data nomor tersebut akan di tambah 1 (satu), dan dijadikan Variable sebagai data nomor yang akan dimasukan ke database

Silahkan perhatikan file proses.php dibawah ini:

File proses.php

<?php
//Masukan koneksi ke database nya disini
include "config.php";
//Query pertama, mengambil data nomor terakhir sesuai dengan nomor terbesar
$q = mysql_query("SELECT * FROM namatable ORDER BY nomor DESC LIMIT 1");
$jumlah = mysql_num_rows($q);
$data = mysql_fetch_array($q);
//Jika tidak ada data, maka nomor pertama adalah 1
 if($jumlah <= 0){
  $nomorbaru = 1;
 }
 //Jika ada data terakhir maka nomor urut akan ditambah 1
 else{
  $nomorbaru = $data[nomor] + 1;
 }
//Jika form nama tidak di isi
if($_POST[nama] == ""){echo "Nama jangan dokosongkan...";}
//Jika form alamat tidak di isi
else if($_POST[alamat] == ""){echo "Alamat jangan dikosongkan...";}
//Jika kedua form di isi masukan data baru ke database
else{
mysql_query("INSERT INTO namatable (nomor, nama, alamat) VALUES ('$nomorbaru','$_POST[nama]','$_POST[alamat]')");
//Pemrosesan telah selesai, dan kembalikan ke halaman index.php
echo "<b>Data baru telah ditambahkan...</b> <script>window.location = 'index.php';</script>";
}
exit;
?>

Proses di atas akan berlangsung dalam hitungan mili detik... Kemudian untuk menampilkan semua data yang ada di database MySQL akan dilakukan pada halaman index.php

File index.php

<?php
//Masukan koneksi nya disini
include "config.php";
//Buat Query untuk menampilkan semua data yang ada di table database
$query = mysql_query("SELECT * FROM namatable ORDER BY nomor");
$jum = mysql_num_rows($query);
if($jum > 0){
while($data_query = mysql_fetch_array($query)){
 //Tampilkan data yang ada
 echo "$data_query[nomor]. $data_query[nama], $data_query[alamat] <br/>";
}
}else{
 echo "Belum ada Data apapun pada database";
}
 echo "<a href='form.php'>Tambahkan data baru >></a>";
 exit;
?>

Untuk mempersingkat waktu, silahkan anda test kode dibawah ini, yang saya jadikan satu untuk semua ide diatas kedalam file index.php, silahkan jalankan pada Server Lokal di komputer anda, tapi sebelumnya komputer harus sudah menjadi Web Server terlebih dahulu, silahkan gunakan LocalServer, download Disini >>

File index.php

<?php
$connect = mysql_connect("localhost:3308","root","1234");
mysql_select_db("namadatabase", $connect);
?>
<html>
<head>
<title>
Tes membuat nomor urut pada database MySQL</title>
</head>
<body>

<?php
$query = mysql_query("SELECT * FROM namatable ORDER BY nomor");
while($data_query = mysql_fetch_array($query)){
 echo "$data_query[nomor]. $data_query[nama], $data_query[alamat] <br/>";
}
if(isset($_POST[submit])){
$q = mysql_query("SELECT * FROM namatable ORDER BY nomor DESC LIMIT 1");
$jumlah = mysql_num_rows($q);
$data = mysql_fetch_array($q);
if($jumlah <= 0){
 $nomorbaru = 1;
 }else{
 $nomorbaru = $data[nomor] + 1;
 }
if($_POST[nama] == ""){echo "Nama jangan dokosongkan...";}
else if($_POST[alamat] == ""){echo "Alamat jangan dikosongkan...";}
else{
mysql_query("INSERT INTO namatable (nomor, nama, alamat) VALUES ('$nomorbaru','$_POST[nama]','$_POST[alamat]')");
echo "<b>Data baru telah ditambahkan, Silahkan Tunggu...</b>";
echo "<script>window.location = 'index.php';</script>";
}
}else{
?>
<h2>Masukan Data Baru!</h2>
<table>
<form name="insert" action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
<tr><td style="float:right;">Nama: </td><td><input type="text" name="nama" /></td></tr>
<tr><td style="float:right;">Alamat: </td><td><input type="text" name="alamat" /></td></tr>
<tr><td colspan="2"><input type="submit" name="submit" value="Kirim" style="float:right;" /></td></tr>
</form>
</table>
</body>
</html>

<?php
}
exit;
?>

ScreenShoot:

Tampilan exekusi file index.php pada Browser FireFox


Terimakasih sudah menyimak artikel ini, semoga dapat berguna bagi anda yang sedang belajar menganai php dan MySQL Server, silahkan berikan tanggapan nya mengenai tutorial di atas pada form komentar yang telah disediakan. Wassalam...

Komentar

Postingan populer dari blog ini

Cara Membuat Form PHP menggunakan Adobe Dreamweaver CS5

Cara Membuat Halaman Statis di Blog Blogspot