Sabtu, 25 Juni 2016

Tutorial Membuat CRUD PHP MySQL dengan mysqli

Tutorial Membuat CRUD PHP MySQL Dengan mysqli extension Sederhana


Assalamu alaikum wr. wb. Hai kawan-kawan. Kali ini saya akan membuat aplikasi CRUD PHP MYSQL. CRUD merupakan singkatan dari Create Read Update Delete (Buat Baca Perbarui Hapus). CRUD ini merupakan dasar dari pembuatan suatu aplikasi. Dalam tutorial ini, saya membuatnya dengan bahasa pemrograman PHP dan databasenya MySQL namun saya menggunakan mysqli extension. Langsung saja ke to the pointnya saja.
  1. Pastikan di komputer kalian sudah terinstal Web Server (XAMPP, WAMP, LAMP, dsb), Text Editor (Notepad++, Sublime, dsb).
  2. Kemudian kita buat databasenya di Phpmyadmin dengan nama crudmysql. Copas script structure tabelnya:
  3.    
      CREATE TABLE IF NOT EXISTS `biodata` (
      `id` int(5) NOT NULL AUTO_INCREMENT,
      `nama` varchar(20) NOT NULL,
      `kelas` varchar(10) NOT NULL,
      `alamat` varchar(30) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;   
      .   
     
  4. Buka Text Editor kesukaan kalian dan ikuti langkah di bawah ini
  5. Buat file koneksi.php
       
    <?php
    $host = "localhost"; // isi nama server yang digunakan, server yang kita gunakan adalah localhost
    $username = "root"; // isi sesuai dengan username pada mysql, username mysql saya adalah root
    $password = "123"; // isi sesuasi dengan password pada mysql, password mysql saya adalah 123
    $database = "crudmysql"; // isi dengan nama database yang akan digunakan
    
    //membuka koneksi ke mysql
    $mysqli = new mysqli($host,$username,$password,$database);
    
    //jika koneksi gagal
    if($mysqli->connect_errno){
        echo "Server bermasalah";
    }
    
  6. Buat file index.php
     <?php
    //memanggil file koneksi.php
    include "koneksi.php";
    
    //membuat query untuk menampilkan data dengan query SELECT
    $query = $mysqli->query("SELECT * FROM biodata");
    ?>
    <h1>Data Biodata Siswa</h1>
    <p>
        <a href="create.php">Tambah Data</a>
    </p>
    <table border="1" cellpadding="10">
        <tr>
            <th>No</th>
            <th>Nama</th>
            <th>Kelas</th>
            <th>Alamat</th>
            <th>Aksi</th>
        </tr>
        <?php
        $no=1; //membuat variabel no
    
        //menampilkan data tabel biodata
        while($data = $query->fetch_array()) {
            ?>
            <tr>
                <td><?php echo $no; // menampilkan no urut?></td>
                <td><?php echo $data['nama']; // menampilkan isi field nama ?></td>
                <td><?php echo $data['kelas']; //menampilkan isi field kelas ?></td>
                <td><?php echo $data['alamat']; // menampilkan isi field alamat ?></td>
                <!-- pada link Edit, kita arahkan ke file update.php dan diberi variabel id yang berisi field id agar variabel tsb dapat ditangkap melalui metode GET -->
                <!-- pada link Hapus, kita arahkan ke file delete.php dan diberi variabel id yang berisi field id agar variabel tsb dapat ditangkap melalui metode GET -->
                <td><a href="update.php?id=<?php echo $data['id']?>">Edit</a> || <a href="delete.php?id=<?php echo $data['id']?>">Hapus</a> </td>
            </tr>
            <?php
            $no++; // no urut ditambah 1 secara otomatis
        }
        ?>
    </table>
  7. Buat file update.php
    <?php
    //memanggil file koneksi.php
    include "koneksi.php";
    $id = $_GET['id']; //mengambil variabel id pada url dengan metode GET
    
    // jika tombol simpan ditekan
    if(isset($_POST['submit'])){
    
        // membuat variabel untuk menampung variabel $_POST
        $nama = $_POST['nama'];
        $kelas = $_POST['kelas'];
        $alamat = $_POST['alamat'];
    
        //membuat query untuk update data
        $query = $mysqli->query("UPDATE biodata SET nama='$nama',kelas='$kelas',alamat='$alamat' WHERE id='$id'");
    
        if($query){
            // jika query berhasil dijalankan, maka akan tampil data berhasil disimpan
    
            echo "<font color='green'>Data berhasil disimpan</font>. Lihat <a href='index.php'>disini</a>";
        }else{
            // jika tidak, maka akan tampil data gagal disimpan
    
            echo "<font color='red'>Data gagal disimpan</font>";
        }
    }
    
    $query = $mysqli->query("SELECT * FROM biodata WHERE id='$id'"); // menampilkan data berdasarkan id
    $data = $query->fetch_array(); // menampung data dari query ke dalam $data sebagai array
    
    ?>
    <h1>Form Edit Data</h1>
    <a href="index.php">Kembali</a>
    <p>
    <form method="post">
        <p>
            Nama <input type="text" name="nama" value="<?php echo $data['nama']?>">
        </p>
        <p>
            Kelas <input type="text" name="kelas" value="<?php echo $data['kelas']?>">
        </p>
        <p>
            Alamat <input type="text" name="alamat" value="<?php echo $data['alamat']?>">
        </p>
        <p>
            <input type="submit" name="submit" value="Simpan">
        </p>
    </form>
    </p>
  8. Buat file delete.php
    <?php
    include "koneksi.php"; //memanggil file koneksi.php
    
    $id = $_GET['id'];// menangkap isi variabel id pada url dengan metode GET
    
    $query = $mysqli->query("DELETE FROM biodata WHERE id='$id'"); //menjalankan query DELETE untuk menghapus data berdasarkan id
    //jika query dijalankan
    if($query){
        //jika berhasil, akan dialihkan ke halaman index.php
        header("location:index.php");
    }else{
        //jika gagal, akan muncul data gagal dihapus
        echo "Data Gagal Dihapus. <a href='index.php'>Kembali ke halaman sebelumnya</a>";
    }
  9. Kemudian jalankan aplikasinya di browser melalui localhost. Jangan lupa diaktifkan dulu apache & mysql nya di XAMPP.
Sekian tutorial ini, mohon maaf jika ada salah penulisan dan kata. Semoga artikel ini bermanfaat bagi kalian. Terima kasih.Silahkan download sourcecode disini.

3 komentar:

  1. terima kasih gan, tutorialnya sangat bermanfaat. akan lebih bagus kalau dilengkapi screenshotnya

    BalasHapus
  2. terimakasih sangar membantu..
    visit me :
    https://hafizhcodings.blogspot.co.id/

    BalasHapus
  3. Terimah kasih artikelnya sangat membantu kami terutama mahasiswa yang sedang belajar tentang web saya mahasiswa dari stmik atmaluhur dengan nim 1922500120 Sri Dewayanti, ini situs kampus saya https://www.atmaluhur.ac.id

    BalasHapus