kode otomatis

5
KampusKita.us | Pembuatan kode otomatis berdasarkan kriteria tertentu pada PHP tidaklah sulit caraya tidak jauh berbeda 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));

Upload: faisal-alqadrie

Post on 23-Oct-2015

10 views

Category:

Documents


0 download

DESCRIPTION

sdf

TRANSCRIPT

Page 1: kode otomatis

KampusKita.us | Pembuatan kode otomatis berdasarkan kriteria tertentu pada PHP tidaklah sulit caraya

tidak jauh berbeda 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

Page 2: kode otomatis

<h1>New Member</h1>

<form method=”post” action=”add_member.php”>

Jenis Member

<select name=”jenis”>

<option value=”A”>Platinum</option>

<option value=”B”>Gold</option>

<option value=”C”>Silver</option>

</select>

<input type=”submit” name=”submit” value=”Submit” />

</form>

 

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

<?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

Page 3: kode otomatis

$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

?>

<h1>Tambah Member Baru</h1>

<form method=”post” action=”submit_member.php”>

<table border=”0″>

<tr><td>ID Member</td><td>:</td>

<td><input type=”text” name=”id”

value=”<?php echo $newID; ?>”></td></tr>

<tr><td>Nama Member</td><td>:</td>

<td><input type=”text” name=”nama”></td></tr>

<tr><td>Alamat Member</td><td>:</td>

<td><input type=”text” name=”alamat”></td></tr>

<tr><td></td><td></td><td>

<input type=”submit” name=”submit” value=”Submit”></td></tr>

</table>

</form>

3. Buat file proses untuk file add_member.php dengan nama submit_member.php

<?php

mysql_connect(“localhost”, “root”, “”);

mysql_select_db(“dbtrik6″);

$idMember = $_POST['id'];

$namaMember = $_POST['nama'];

$alamatMember = $_POST['alamat'];

Page 4: kode otomatis

$query = “INSERT INTO member VALUES(‘$idMember’, ‘$namaMember’, ‘$alamatMember’)”;

$hasil = mysql_query($query);

if ($hasil)

echo “<h1>Tambah member sukses</h1>”;

else

echo “<h1>Tambah member gagal</h1>”;

echo “<a href=’member.php’>Tambah Member</a>”;

?>

( ?php function kdauto($tabel, $inisial){ $struktur = mysql_query("SELECT * FROM $tabel order by no_reg");  $field = mysql_field_name($struktur,0);  $panjang = mysql_field_len($struktur,0);  

$qry = mysql_query("SELECT max(".$field.") FROM ".$tabel);  $row = mysql_fetch_array($qry);  if ($row[0]=="") { $angka=0; } else { $angka = substr($row[0], strlen($inisial));  } 

$angka++; $angka =strval($angka); $tmp =""; for($i=1; $i<=($panjang-strlen($inisial)-strlen($angka)); $i++) {  $tmp=$tmp."0"; } return $inisial.$tmp.$angka; } 

? ) 

cara pakai: 

input name="no_reg" type="text" value="( ?=kdauto(daftar,B)? )" size="20" maxlength="15" readonly/ 

Page 5: kode otomatis

( ? ganti dg <?