Misalkan saja kita membuat suatu field di MySql dengan nama kode_barang dan untuk setiap kode_barang kita meng-inginkan berbareng dengan karakter seperti : BRG01, BRG02, BRG03, dll. Namun jika kita menandai kode_barang dengan auto increment maka otomatis kita harus membentuk tipe data integer untuk filed kode_barang tersebut. Sementar kode_barang yang ingin dibuat ada berbentuk karekater atau huruf maka tipe datanya harus varchar supaya filed kode_barang bisa terisi. Nah untuk mengatasi nya kita harus membuat script tambahan pada PHP nya..
Wah kayanya udah banyak omong nih Lansung aja kita mulai tutorial tapi sebelum nya teman-teman cuci tangan sampe bersih dulu biar segar ntar untuk mengetik script-scriptnya.
Pertama kita buat table di MySql dulu deh:
CREATE TABLE IF NOT EXISTS `tbl_barang` (
`kode_barang` varchar(20) NOT NULL,
`nama_barang` varchar(40) NOT NULL,
PRIMARY KEY (`kode_barang`)
)
setelah itu kita masuk ke script php nya.
<?
// koneksi ke mysql
mysql_connect("localhost", "root", "");
mysql_select_db("db_latihan");
// membaca kode barang terbesar
$query = "SELECT max(kode_barang) as maxKode FROM tbl_barang";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
$kodeBarang = $data['maxKode'];
// mengambil angka atau bilangan dalam kode anggota terbesar,
// dengan cara mengambil substring mulai dari karakter ke-1 diambil 6 karakter
// misal 'BRG001', akan diambil '001'
// setelah substring bilangan diambil lantas dicasting menjadi integer
$noUrut = (int) substr($kodeBarang, 3, 3);
// bilangan yang diambil ini ditambah 1 untuk menentukan nomor urut berikutnya
$noUrut++;
// membentuk kode anggota baru
// perintah sprintf("%03s", $noUrut); digunakan untuk memformat string sebanyak 3 karakter
// misal sprintf("%03s", 12); maka akan dihasilkan '012'
// atau misal sprintf("%03s", 1); maka akan dihasilkan string '001'
$char = "BRG";
$newID = $char . sprintf("%03s", $noUrut);
//Memasukkan data textbox ke database
if($submit){
$kode = $_POST['kode_barang'];
$nama = $_POST['nama_barang'];
$query2 = "INSERT INTO tbl_barang VALUES ('$kode', '$nama')";
$hasil2 = mysql_query($query2);
if ($hasil2) {
header("Location: test.php");
echo "Berhasil";
exit();
}else{
echo "gagal";
}
}
?>
<h1>Tambah Barang Baru</h1>
<form method="post" action="test.php">
<table border="0">
<tr><td>Kode Barang</td><td>:</td><td><input type="text" readonly="" name="kode_barang" value="<?php echo $newID; ?>"></td></tr>
<tr><td>Nama Barang</td><td>:</td><td><input type="text" name="nama_barang"></td></tr>
<tr><td></td><td></td><td><input type="submit" name="submit" value="Submit"></td></tr>
</table>
</form>
cukup sekian.. semoga bermanfaat buat teman-teman.. :D
ada pertanyaan silahkan ke sumbernya.
karna saya juga masih dalam tahap belajar :P
sumber: http://hendrysimamora.blogspot.com
komentar om
BalasHapussilahkan om komentarnya :D
Hapusokey ane tes dulu ya gan
BalasHapusterimakasih agan, sangat membantu dalam mengerjakan tugas UAS
BalasHapusmakasih gan..ijin testing ia
BalasHapusthanks,,,
BalasHapusmksih mas langsung tak prraktekan
BalasHapusmaksimal cuma 100 om
BalasHapus