Sabtu, 25 Juni 2016

Membuat Kode Generator dengan PHP MySQL

Membuat Kode Generator Dengan PHP MySQL

Assalamu alaikum wr. wb. 

Kali saya akan membuat kode generator dengan PHP dan databasenya menggunakan MySQL. Kode Generator ini maksudnya kita akan membuat kode otomatis secara urut tanpa harus diinput manual dengan format tertentu. Biasanya kode generator ini digunakan untuk membuat pengkodean barang, NIK, NIP, Kode Dokter, dll. Contoh format kode generator dapat berupa apa saja, antara lain S001, PN001, 01/AI/0078, dll. Langsung saya praktekkan cara pembuatannya.

  1. Pastikan komputer anda terinstal webserver (XAMPP, WAMP, LAMP, dsb) dan text editor PHP (Sublime, Notepad++, dll).
  2.  Buat databasenya terlebih dahulu dengan nama crudmysql (nama terserah anda). Copas script sqlnya dibawah.
       
      CREATE TABLE IF NOT EXISTS `biodata` (
      `id` varchar(5) NOT NULL,
      `nama` varchar(20) NOT NULL,
      `kelas` varchar(10) NOT NULL,
      `alamat` varchar(30) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
  3. Buka text editor anda dan buat file create.php
       
    <?php
    //membuat koneksi
    $host = "localhost";
    $username = "root";
    $password = "123";
    $database = "crudmysql";
    
    $koneksi = new mysqli($host,$username,$password,$database);
    
    if($koneksi->connect_errno){
        echo "Server Bermasalah";
    }
    
    //menampilkan kode otomatis pada textbox kode (kode generator)
    //pertama kita harus menentukan format kode, saya akan membuat kode dengan format S00*
    //S adalah kode awal. 00* adalah nomor urut dan saya menggunakan 3 digit angka.
    
    $query = $koneksi->query("SELECT MAX(id) AS id FROM biodata"); //mencari id terakhir dalam tabel biodata
    if($query->num_rows > 0){ //mengecek jumlah data pada tabel, jika tidak kosong maka kita menambahkan otomatis nomor urutnya
        $data = $query->fetch_array(); // ambil id terakhir
        $data = (int) substr($data['id'],1) + 1; // id terakhir dibuang kode awalnya dan ditambah 1
        $data = "S".sprintf("%03s",$data); // kita susun kode dengan format yang telah ditentukan, no urut dengan 3 digit angka
        $kode = $data; // masukkan kode ke variabel $kode
    }else{ // jika jumlah data pada tabel kosong, maka kita set kode awalnya
        $kode = "S001";
    }
    
    
    //jika tombol simpan diklik
    if(isset($_POST['submit'])){
    
        //membuat variabel untuk menampung post data
        $kode = $_POST['kode'];
        $nama = $_POST['nama'];
        $kelas = $_POST['kelas'];
        $alamat = $_POST['alamat'];
    
        //buat query untuk menambah data
        $query = $koneksi->query("INSERT INTO biodata VALUES ('$kode','$nama','$kelas','$alamat')");
    
        //jika query dijalankan
        if($query){
            //jika sukses, maka dialihkan ke index.php
            header("location:index.php");
        }else{
            //jika gagal, maka tampil data gagal
            echo "<font color='red'>Data Gagal Disimpan</font>";
        }
    }
    ?>
    <h1>Form Siswa</h1>
    <a href="index.php">Kembali</a>
    <p>
    <form method="post">
        <table>
            <tr>
                <td>Kode Siswa</td><td><input type="text" name="kode" readonly value="<?php echo $kode?>"></td>
            </tr>
            <tr>
                <td>Nama</td><td><input type="text" name="nama"></td>
            </tr>
            <tr>
                <td>Kelas</td><td><input type="text" name="kelas"></td>
            </tr>
            <tr>
                <td>Alamat</td><td><input type="text" name="alamat"></td>
            </tr>
            <tr>
                <td><button name="submit">Simpan</button></td>
            </tr>
        </table>
    </form>
    </p>
    
  4. Buat file index.php
       
    <?php
    //membuat koneksi
    $host = "localhost";
    $username = "root";
    $password = "123";
    $database = "crudmysql";
    
    $koneksi = new mysqli($host,$username,$password,$database);
    
    if($koneksi->connect_errno){
        echo "Server Bermasalah";
    }
    
    //membuat query
    
    $query = $koneksi->query("SELECT * FROM biodata");
    ?>
    <h1>Data Siswa</h1>
    <a href="create.php">Tambah Data</a>
    <table border="1" cellpadding="10">
        <tr>
            <th>Kode Siswa</th>
            <th>Nama</th>
            <th>Kelas</th>
            <th>Alamat</th>
            <th>Aksi</th>
        </tr>
        <?php
        //menampilkan hasil query
        while($data=$query->fetch_array()) {
            ?>
            <tr>
                <td><?php echo $data['id']?></td>
                <td><?php echo $data['nama']?></td>
                <td><?php echo $data['kelas']?></td>
                <td><?php echo $data['alamat']?></td>
                <td><a href="delete.php?id=<?php echo $data['id']?>">Hapus</a></td>
            </tr>
            <?php
        }
        ?>
    </table>
    
  5. Buat file delete.php
       
    <?php
    //membuat koneksi
    $host = "localhost";
    $username = "root";
    $password = "123";
    $database = "crudmysql";
    
    $koneksi = new mysqli($host,$username,$password,$database);
    
    if($koneksi->connect_errno){
        echo "Server Bermasalah";
    }
    
    $id=$_GET['id']; // ambil id dari variabel id pada url dengan metode GET
    //buat query hapus
    $query = $koneksi->query("DELETE FROM biodata WHERE id='$id'");
    //jika query dijalankan
    if($query){
        //jika sukses, maka dialihkan ke index.php
        header("location:index.php");
    }else{
        //jika gagal, maka tampil data gagal dihapus
        echo "<font color='red'>Data gagal dihapus</font>. <a href='index.php'>Kembali ke halaman utama</a>";
    }
     
  6. Kemudian jalankan di localhost anda dan lihat hasilnya.

Sekian tutorial ini, mohon maaf jika ada kesalahan penulisan dan kata. Jika ada kekurangan mohon kritik dan saran teman. Sourcecode dapat diunduh disini.

0 komentar:

Posting Komentar