Auto number sederhana dengan PHP dan MySQL

Membuat nomor urut secara otomatis dengan PHP, kalau di MySQL kita mengunakan autoincrement. Namun bagaimana kalau kita mengunakan variabel seperti huruf + nomor = A111 atau B111. Didalam pengunaan MySQL kemungkinan agak sulit namun dibantu dengan PHP kita akan menciptakan variabel A111 dan B111. Langsung saja kita memulainya, silahkan ikuti cara-cara dibawah ini :

1. Buat table mahasiswa

CREATE TABLE `mahasiswa` (`nim` VARCHAR( 5 ) NOT NULL ,`nama` VARCHAR( 50 ) NOT NULL ,`fakultas` VARCHAR( 25 ) NOT NULL,`kd_fak` CHAR(2) NOT NULL) ENGINE = MYISAM ;


2. Buat Form Pilihan fakultas mahasiswa

<head>
<title>Pilihan Mahasiswa</title>
</head>
<body>
<form name="form1" method="post" action="autonim.php">
<table width="400" border="1">
<tr>
<td width="114">Pilihan Fakultas</td>
<td width="270">:
<select name="fakultas" id="fakultas">
<option value="T">Teknik</option>
<option value="E">Ekonomi</option>
<option value="B">Bahasa</option>
  <option value="H">Hukum</option>
<option value="K">kedokteran</option>
</select>
</td>
</tr>
<tr>
<td>Nama</td>
<td>:<input name="nama" type="text" id="nama"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="Submit" value="Simpan">
</td>
</tr>
</table>
</form>
</body>
</html>

3. Buat auto numbernya disini, simpan dengan nama file autonim.php.

<?PHP
$terhubung=mysql_connect("localhost","root","");
if(!$terhubung)
die("Tidak bisa konek dengan database....!!!!");

if(!mysql_select_db("akademik",$terhubung))
die("Database tidak bisa dibuka");

$fakultas=$_POST[fakultas];
$ceknomor=mysql_fetch_array(mysql_query("SELECT nim FROM mahasiswa WHERE kd_fak='$fakultas' ORDER BY nim DESC LIMIT 1"));
$cekQ=$ceknomor[nim];
#menghilangkan huruf
$awalQ=substr($cekQ,0-4);
#ketemu angka awal(angka sebelumnya) + dengan 1
$next=$awalQ+1;
#menhitung jumlah karakter
$jnim=strlen($next);

if(!$ceknomor['nim'])
{ $no='0001'; }
elseif($jnim==1)
{ $no='000'; }
elseif($jnim==2)
{ $no='00'; }
elseif($jnim==3)
{ $no='0'; }
elseif($jnim=4)
{ $no=''; }
#Pembuatan nim baru
$nimbr=$fakultas.$no.$next;

if($fakultas=='T'){ $fak="Teknik";}
elseif($fakultas=='E'){ $fak="Ekonomi";}
elseif($fakultas=='B'){ $fak="Bahasa";}
elseif($fakultas=='H'){ $fak="Hukum";}
elseif($fakultas=='K'){ $fak="Kedokteran";}

mysql_query("INSERT INTO mahasiswa VALUES('$nimbr','$_POST[nama]','$fak','$fakultas')");

$tampil=mysql_query("SELECT*FROM mahasiswa ORDER BY nim");
while($tampilkan=mysql_fetch_array($tampil))
{
echo"NIM : $tampilkan[nim]<br>NAMA : $tampilkan[nama]<br>";
echo"<hr>";
}
?>

4. Tampilan dibrowser

Demikian cara membuat auto number dengan PHP dan MySQL, semoga berguna bagi teman-teman dan pengunjung blog qkumpulkanilmu.wordpress.com.

Tentang -=N N=-

Simple Thinks
Pos ini dipublikasikan di PHP. Tandai permalink.

11 Balasan ke Auto number sederhana dengan PHP dan MySQL

  1. edimuhamadyamini berkata:

    maksih atas infonya gan sangat berguna.. kalo pake tanggal autonumbernya gmna ya??

  2. edimuhamadyamini berkata:

    oh ya itu saya udah nyoba n hasilnya bisa, tapi knpa setiap nomor yg pertama 0001 nah kalo input yg kedua jdi 001 input lagi jadi 002 akhirna id yg pertama beda sendiri knpa??

    • -=N N=- berkata:

      kemungkinan waktu pembentukan number awal + next number ada yang kurang, coba di teliti lagi hee…kemungkinan saya juga ada salah ketik hee…coba dan jangan patah semangat…pasti ada jalan, thx dah mampir

  3. kalvina berkata:

    bgmn buat yang simple seperti : P1, P2, P3, P4, dst..
    please kk bantuannya

  4. kalvina berkata:

    koding auto ku sbb:

    <?php
    function auto($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);

    for ($i = 1; $i

    namun pada data ke P10 pas mau input data ke P11 nomernya gak naik, tetap P10.. sudah coba sort by kode, P10 nya naik jadi : P1, P10, P2, P3,…,P9

    gmn yh??

    • Numpang nulis, gan uda coba pake inisial di “…. MAX(field) from table ….” jadi “…. MAX(field) AS inisial from table ….”
      $row = mysql_fetch_array($qry);
      $initial=$row[“inisial”];
      thankz

  5. rikoy berkata:

    gan, klo prefix nya dua huruf gimana ya? misal FS0001

  6. anafi berkata:

    thanks gan….
    infonya berguna banget

  7. adi berkata:

    coba diinput sampai beberapa kali misalnya 1-4, lalu coba diinput di kode yang berbeda apa dari angka 4 tkrhr jadi 1 atau awal kembali 1 atau nyambung jd 5

  8. Thanks gan artikelnya, logikanya simpel tapi bermanfaat dan pas.
    Gw mau tambahin dikit ni mungkin di “SELECT nim FROM mahasiswa….” lebih pas kalo di tambain MAX() biar bisa ambil angka tertinggi dari table jadi “SELECT MAX(nim) as nim FROM mahasiswa ….” thankz

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s