July 24, 2024

Membuat Pengkodean Otomatis Pada Field Tabel

2 min read

Assalamualaikum, para neters portal PalComTech…Pak Rais mau bagi-bagi ilmu lagi, dalam tutorial ini. Saya ingin berbagi ilmu atau informasi tentang programming, yakni php dan mysql. Biasanya pada saat belajar php dan mysql, dalam materi buku tamu dan lain-lain, pada saat pembuatan id_tamu, kode_tamu dan sebagainya, tipe data field yang digunakan adalah int(3) dan menggunakan extra : autoincrement, dan primary key : mencegah data yang sama. (ya iyalah, datanya tidak sama karena di kasih fasilitas autoincrement).

[sourcecode language=”php”]CREATE TABLE `tamu` (
`id_tamu` INT( 3 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nama` VARCHAR( 25 ) NOT NULL ,
`pesan` VARCHAR( 25 ) NOT NULL
) ENGINE = MYISAM ;

[/sourcecode]

Nah sekarang kita ubah kebiasan tersebut, menggunakan kode auto, pada saat dijalankan dilocalhost, data tersebut akan bertambah otomatis. Caranya adalah dengan membuat fungsi buatan seperti berikut. Dalam tutorial ini saya hanya menampilkan hasilnya saja, saya yakin kamu bisa membuat database, dan table sendiri dan file koneksi.php nya sendiri. Baiklah Langsung saja.

Langkah 1

Buka aplikasi web editor kesukaan kamu, disini saya menggunakan Adobe Dreamweaver CS3. Lalu ketik kode seperti berikut :

[sourcecode language=”php”]
<?php
function kdauto($tabel, $inisial){
$struktur   = mysql_query("SELECT * FROM $tabel");
$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;
}
?>
[/sourcecode]

Simpan dengan nama kode_auto.php

Langkah 2

Nah pada saat pembuatan table, pada filed id_tamu kita ubah type datanya menjadi varchar, tidak diberi auto increment, dan primary key. Seperti contoh berikut :

[sourcecode language=”php”]
CREATE TABLE `tamu` (
`id_tamu` VARCHAR(5 ) NOT NULL,
`nama` VARCHAR( 25 ) NOT NULL ,
`pesan` VARCHAR( 25 ) NOT NULL
) ENGINE = MYISAM ;
[/sourcecode]

Langkah 3

Kapan kode ini digunakan ??

Pada saat pembuatan form. Letakan kode ini di dalam value textfield yang digunakan. Buat dua textfield satu untuk ditampilkan satu untuk dihidden (disembunyikan), pastikan diatas tag html, kamu sudah menulis include koneksi ke database dan file kode_auto.php. Seperti kode berikut :

[sourcecode language=”php”]
<?php
Include “koneksi.php”;
Include “kode_auto.php”;
?>
<input name="id_tamu" type="text"  maxlength="6" size="6" value="<? echo kdauto("tamu","T"); ?>" disabled="disabled">
<input name="id_tamu" type="hidden" value="<? echo kdauto("tamu","T"); ?>">
[/sourcecode]

Berikut tampilan hasil nya saat dijalankan dilocalhost :

Berikut Kode selengkapnya :

File form_tamu.php

[sourcecode language=”php”]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
include "koneksi.php";
include  "kode_auto.php";
?>
<form id="form1" name="form1" method="post" action="">
<p>nomor tamu
<input name="id_tamu" type="text" id="id_tamu" value="<? echo kdauto("tamu","T"); ?>" disabled="disabled" />
<input name="id_tamu" type="hidden" id="id_tamu" value="<? echo kdauto("tamu","T"); ?>" />
</p>
<p>nama tamu
<input type="text" name="nama" id="nama" />
</p>
<p>
pesan
<input type="text" name="textfield3" id="textfield3" />
</p>
<p>
<input type="submit" name="button" id="button" value="Kirim" />
</p>
</form>
</body>
</html>
[/sourcecode]

File koneksi.php 

[sourcecode language=”php”]
<?php
mysql_connect("localhost", "root", "123456");
mysql_select_db("data") or die ("tidak ada database ".mysql_error());
?>
[/sourcecode]

Kode table database

[sourcecode language=”php”]
CREATE TABLE `tamu` (
`id_tamu` varchar(5) NOT NULL,
`nama` varchar(25) NOT NULL,
`pesan` varchar(25) NOT NULL,
PRIMARY KEY  (`id_tamu`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
[/sourcecode]

File kode_auto.php

[sourcecode language=”php”]
<?php
function kdauto($tabel, $inisial){
$struktur   = mysql_query("SELECT * FROM $tabel");
$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;
}
?>
[/sourcecode]

Fungsi dari kode diatas bisa kamu gunakan untuk tabel database yang lain, karena sifatnya fleksibel, memanggil nama tabel yang dibuat dalam database. Semoga bermanfaat jika maseh bingung silahkan ber-komeng-komeng dibawah ya, jangan lupa makasih atas like nya. Ntar kasih cendol deh.

untuk mengunduh file pada tutorial ini, klik disini [download id=”182″]

0 thoughts on “Membuat Pengkodean Otomatis Pada Field Tabel

  1. nyang mano angko angko itu…??? gek lah beguno skrip ini…jingoklah…

    hehehe

    merubah kebiasan yang lama menjadi lebih fleksibel

    :kr

    1. yupz,,,pak RT….
      biar pun ucapan thank’s idag bikin kenyang,tapi tetap thank’s pak RT,,,,
      :ngakak :ngakak

  2. Mantap Om.. MengingatkanQ samo Coding yang lain.. hhee.. tp Cubo Dulu.. Sip.. Ganbarre.. :iloveindonesia

    1. iyo wong ini nak instant bae… la dicubo lom…tinggal kan kebiasaan lama untuk mencoba hal baru yang lebih baik

      oh iyo untuk bisnis kito gek sabtu bae yo datang kan pas rapat agek

      1. wew…
        ajari kmi pak..lah lupo gal kmi dengan kode2 n2…

        upzz…
        ajak2 kmi oh bisnis…
        yeah dak mamse…
        :2thumbup

  3. hahahha… mantabbb gan coding2 nya … :2thumbup
    bikin streess saya ilang … ajiibbb … :kr :kr :beer:

  4. pak itu make huruf T untuk field tamu nyo yeh?, cakmano kalo dak usah make huruf T nyo pak?, biso dak?, amun biso, cemano kodingnyo pak?

    1. oo biso ubah bae di dalam value textbox nyo jadi ZK, yang bertuliskan ini

      { value = “kdauto(‘tamu’,’ZK’)” > }

      maka berubah menjadi : ZK001..

      oce, untuk koding tetap seperti itu, tidak berubah

      :kr :toast

      1. owh cemitu yeh pak, nah itu kan make alpanumerik kan pak gabungan angko samo huruf, cemano kalo kode otomatisnyo tuh make angko be pak, pake auto increments c bs, tp kalo bebentuk koding, ado yang berubah dak pak kiro2?

        1. weks…maseh make auto_increment…kalau sudah make auto mah dak usah make koding lagi zak…jadi dak seru lagi…penomoran otomatis ini dibuat agar penulisan kode nya tidak itu itu saja dengan angka auto increment, jadi nyo statis terus…

          oke

  5. pak, bikin tutorial dong tentang mysql workbench.. n cara bikin routine.. ane pikir ini mirip procedure d sql serper, tapi ane gak nemu cara bikinny.. binun..

    1. apo sir…mysql workbench…wow maenan programer kelas tinggi cak nyo…oke kami pelajari dari berbagai sumber, dalam waktu sesingkat singkat nya…

      oke sir..ini sudah menuju ke tkp

      apo nian mysql workbench itu

      :travel :tkp apo sir…mysql workbench…wow maenan programer kelas tinggi cak nyo…oke kami pelajari dari berbagai sumber, dalam waktu sesingkat singkat nya…

      oke sir..ini sudah menuju ke tkp

      apo nian mysql workbench itu

      :travel :tkp :kr :ngacir2 (make nos bukan ngacir)

    2. sep sir sudah dapet materi nyo…ane paham scara teori, ntar deh, kalau udah paham secara praktisi ntar di lontar kan ke ente

      1. ditunggu, gan.. kalu dah muncul tutorialnyo, ane pastiin ane wong yang duluan bikin likes.. d ^^

  6. terima kasih tutorial … membuka dan menambah wawasan saya tentang php dan mysql … Lanjutkan terus pak Rais … bravo. :2thumbup

  7. mantap tutorialnyo…. meskipun dag ngerti PHP… lanjutkan pak rais sama tutorail-tutorial yang lain…. waiting….

    “ilmu yang baik yaitu yang di amalkan sama orang lain….”

  8. bagus bagus….!

    walau blm terlalu paham…
    tp saya akn coba bljr tentang php dan mysql…
    :thumbup :rate :kr :kr

  9. mas, mau tanya kdauto itu apa ya? trus “TAMU” itu variabel apa ya. saya bingung hehe.. saya mau bikin 3 field otomatis bisa ga ya mas? mohon bantuannya 🙂 thanks

    1. 1. kodeauto itu suatu fungsi yang menghitung jumlah karakter dari field tabel, dengan dibuat inisial nya menjadi lebih dinamis

      contoh:
      biasa nya pembuatan field id, seperti id_tamu, id_barang, menggunakan auto increment, itu berjumlah berurutan secara otomatis (1, 2 dst), setelah dibuat fungsi ini maka inisial kode menjadi lebih mudah di ingat khusus untuk tabel yang ditunjuk…

      contoh:
      barang : br001, pelanggan : pl001 karena dimulai dari angka 1.

      2. sedangkan “tamu” itu nama tabel dari database.

      3. untuk 3 field ntar saya coba dulu..

      thanks…

  10. pak kalau mau angka 61220 bertambah, dirubah dimananya ya pak? saya sudah mencoba tapi muncul pesan seperti ini : Warning: mysql_field_name(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\aplikasibanksulsel\kode_auto.php on line 4 Warning: mysql_field_len(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\aplikasibanksulsel\kode_auto.php on line 5 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\aplikasibanksulsel\kode_auto.php on line 8 T1

  11. pak kalo pake max() itu ada masalah pak, jadi jika ada 2 orang mengisi buku tamu tersebut secara bersama-sama dengan komputer yg berbeda, maka id_tamu yang di dapat akan sama, apakah ada solusi utuk mengatasi itu, saya sudah mencoba dengan memfilter, tapi tetap tidak bisa pak. mohon pencerahannya

  12. wah punyaku jalan neh, tapi koq gak bisa baca panjang stringnya ya ???
    Munculnya hanya 2 igit saja (T1) bukannya (T00001) kenapa ya???

  13. Pak, saya coba bikin file untuk insert ke database bisa pak tp kodenya nggak masuk tabel.
    saya pakai $id_tamu=$_POST[‘id_tamu’];
    mohon penjelasannya pak ..
    terima kasih

  14. bisa dijelasin lagi gak itu yang kayak $tabel itu apa $field $tabel $qry $struktur $inisial $panjang $angka $1 itu initial aja apa emang kayak itu

  15. Mas bisa di jelaskan lebih rinci isi file kode_auto.php ? saya belum paham dan masih belajar PHP. Mohon penjelasannya
    Terima kasih

  16. :mewek :mewek :mewek punyaku juga gitu sudah berhasil tapi pada waktu ada komputer secara bersama’an maka komputer yg terakhir submit pasti gagal masuk datanya ke database dan gagal degh ,, solusinya duuung ,,,

  17. mohon pencerahannya $table itu maksudnya nama tabelnya atau hanya variable,pertanyaan yang sama pada $inisial

  18. pagi mas,,,
    saya ingin bertanyan ni,..
    saya membuat form input degan isi sbb:

    1.dropdown Kategori yang di isinya diambil dari table kategori (idCat,Kategori)*yang tampil di dropdown kategori, sedangkan nilai yang diambil IdCat
    2.textfield nomor kode (input manual)
    3.textfield nomor spesifikasi (input manual)

    saya ingin menggabungkan isi ke 3 komponen tersebut didalam hiden field

    dengan parameter

    IdCat + “-” + Nokode + “-” nomorspesifikasi. contoh hasil generate

    1-003-N2R,

    bagaimana kira2 tutorial membuat nya mas,??

    adakah para pembaca yang sudih membantu segera???

    terima kasih sebalumnya.

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © All rights reserved. | Newsphere by AF themes.