Tuesday, June 3, 2014

Cara Membuat Kode Otomatis dan Unik Di PHP


 
05.50
 Pembuatan kode otomatis berdasarkan kriteria tertentu pada PHP tidaklah sulit caraya tidak jauhberbeda dengan yang ada di visual. Penjelasan ini atas request dari bos fazar. Ok kita mulai pada skenarionya..

Dicontohkan anda membuat input barang namun kode barang dibuat secara otomatis (bukan auto increament) berdasarkan jenis barang tertentu. Misalkan AP001, AP002, MK010, MK100 dan seterusnya. Terus caranya gimana ? kan pengambilan datanya dari database !!! :-)

Jadi tekniknya adalah anda harus mengambil nilai id terbesar (max) dari suatu record dari database nya.

SELECT max(kode_barang) FROM nama_tabel WHERE kode_barang LIKE 'AP%'

Setelah mendapatkan nilai terbesar dari field kode_barang misal terakhir data yang ada di tabel nya AP0023. Kok ada kata LIKE 'AP%' artinya apa? coba buka kembali materi SQL nya siapa tahu muncul..statement itu bemaksud cari karakter yang diawali dengan string AP. Sehingga yang muncul diseleksi adalah AP001, AP...n, dst. nah dari AP001 tersebut nilai yang kita tambahkan tentunya nilai 1 menjadi AP002. Dalam PHP kita mengenal fungsi sprintf() dan substr() yaitu fungsi untuk mengambil dan merubah nilai suatu string.

Untuk lebih ringkas berikut contohnya:

1. Buat tabel misal

CREATE TABLE member (

id varchar(6),

nama varchar(20),

alamat text,

PRIMARY KEY(id));

 

2. Buat file member.php

New Member



Jenis Member


 

3. Buat file aksi dari file member.php dengan nama file add_member.php

// koneksi ke mysql
mysql_connect("localhost", "root", "");
mysql_select_db("dbtrik6");

// membaca jenis anggota yang dipilih dari form sebelumnya
$jenis = $_POST['jenis'];

// membaca kode anggota terbesar berdasarkan jenis keanggotaan
$query = "SELECT max(id) as maxID FROM member WHERE id LIKE '$jenis%'";

$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
$idMax = $data['maxID'];

// mengambil angka atau bilangan dalam kode anggota terbesar,
// dengan cara mengambil substring mulai dari karakter ke-1
// diambil 5 karakter, misal 'A00001', akan diambil '00001'
// stlh substring bilangan diambil, di casting jadi integer

$noUrut = (int) substr($idMax, 1, 5);

// bilangan yang diambil ini ditambah 1
// untuk menentukan nomor urut berikutnya

$noUrut++;

// membentuk kode anggota baru
// perintah sprintf("%05s", $noUrut); digunakan
// untuk memformat string sebanyak 5 karakter
// misal sprintf("%05s", 12); maka akan dihasilkan '00012'
// misal sprintf("%05s", 1); akan dihasilkan string '00001'

$newID = $jenis . sprintf("%05s", $noUrut);

// kode anggota yang baru tersebut nanti akan ditampilkan
// dalam komponen text box
?>

Tambah Member Baru





ID Member:

value="">

Nama Member:

Alamat Member:





3. Buat file proses untuk file add_member.php dengan nama submit_member.php
mysql_connect("localhost", "root", "");
mysql_select_db("dbtrik6");

$idMember = $_POST['id'];
$namaMember = $_POST['nama'];
$alamatMember = $_POST['alamat'];

$query = "INSERT INTO member VALUES('$idMember', '$namaMember', '$alamatMember')";
$hasil = mysql_query($query);

if ($hasil)
echo "

Tambah member sukses

";
else
echo "

Tambah member gagal

";

echo "Tambah Member";
?>

Nah demikian cara membuat kode unik dan otomatis dalam php. Pembahasan ini disadur dari pak Rosihan Ari.
http://omysurya.blogspot.com/2012/06/cara-membuat-kode-otomatis-dan-unik-di.html