Cara Membuat CRUD Native PHP dengan Mysqli

Cara Membuat CRUD Native PHP dengan Mysqli

Pada kesempatan kali ini saya akan membagikan Cara Membuat CRUD Native PHP dengan MySQLi. Di artikel sebelumnya saya sudah membahas mengenai Cara Membuat Website Statis Sederhana Dengan HTML dan CSS


MySQLi extension biasa dikenal dengan pengembangan MySQL (MySQL improved extension). Extension ini dikembangkan supaya pengembang aplikasi yang ingin menggunakan MySQL dapat menggunakan fitur barunya secara penuh. Ekstensi MySQLi ini kurang lebih sama dengan mysql, cara penggunaan argumen dan pemanggilan fungsi nya hampir sama, hanya menambahkan akhiran i. Contoh nya mysqli_query, mysqli_fetch_object dan sebagainya.


Cara Membuat CRUD Native PHP dengan Mysqli

Pada artikel ini, penulisan CRUD yang dibagikan menggunakan Style Object Oriented. Sebagai contoh disini saya membuat tabel dengan nama TbBlog, Anda bebas menamai table tersebut. Berikut di bawah ini adalah struktur nya :

+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| id          | int(11)     | NO   | PRI | NULL    | auto_increment |
| id_kategori | int(11)     | NO   |     | NULL    |                |
| tanggal     | date        | NO   |     | NULL    |                |
| judul       | varchar(50) | NO   |     | NULL    |                |
| isi         | text        | NO   |     | NULL    |                |
| status      | int(11)     | NO   |     | 0       |                |
+-------------+-------------+------+-----+---------+----------------+
6 rows in set (0,00 sec)

Langkah selanjutnya, masuk ke folder htdocs dan buat sebuah folder baru dengan nama sesuka kalian, di dalam folder baru tersebut buat file php dengan nama koneksi.php, buka file tersebut dengan text editor, disini saya menggunakan VS Code sebagai text editor. Masukan kode di bawah ini ke dalam file koneksi.php kemudian save.
<?php
$koneksi = new mysqli('localhost', 'root', 'password','nama database');
if ($koneksi->connect_error) {
    die("Koneksi Gagal: " . $koneksi->connect_error);
} 
?>

Kode di atas berfungsi agar dapat terkoneksi dengan database dan table yang telah dibuat sebelumnya.

Script CRUD PHP

Setelah membuat file koneksi ke database, langkah selanjutnya adalah membuat file index.php sebagai halaman untuk menampilkan list data dari table TbBlog tadi. Silahkan copy dan paste pada file index.php yang telah dibuat ya, berikut ini kode nya : 

<?php
require_once('koneksi.php');
 
$query = "SELECT * FROM TbBlog";
$urlcrud = "create.php";
?>
  <link rel="stylesheet" href="css/bootstrap.css" type="text/css">
  <link rel="stylesheet" href="css/bootstrap.min.css" type="text/css">
  <div class="w-75 p-3" >
  <div class="container">
<div class="row">
     <div class="col-lg-12">
     <a href="<?= $urlcrud.'' ?>" class="btn btn-success btn-sm"><span class="glyphicon glyphicon-plus"></span> Tambah</a>
     <table class="table table-hover table-bordered" style="margin-top: 10px">
        <tr class="success">
            <th width="50px">No</th>
            <th>id kategori</th>
            <th>Tanggal</th>
            <th>Judul</th>
            <th>Isi</th>
            <th>Status</th>
            <th style="text-align: center;">Actions</th>
        </tr>
     <?php
     if($data=mysqli_query($koneksi,$query)){
        $a=1;
        while($obj=mysqli_fetch_object($data)){
     ?>
        <tr>
            <td><?= $a ?></td>
            <td><?= $obj->id_kategori ?></td>
            <td><?= $obj->tanggal ?></td>
            <td><?= $obj->judul ?></td>
            <td><?= $obj->isi ?></td>
            <td><?= $obj->status ?></td>
            <td style="text-align: center;">
                <a onclick="return confirm('Apakah yakin data akan di hapus?')" href="<?= $urlcrud.'hapus&id='.$obj->id ?>" class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash" aria-hidden="true">Hapus</span></a>
                <a href="<?= $urlcrud.'edit&id='.$obj->id ?>" class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit" aria-hidden="true">Edit</span></a>
            </td>
        </tr>
        <?php
        $a++;
        }
     }
     ?>
     </table>
  </div>
</div>
    </div>
    </div>

Langkah berikut nya adalah membuat file create.php, silahkan buat file baru. create.php ini supaya dapat menampilkan form create. Proses insert nya menggunakan file ini, bisa dilihat pada saat method nya POST maka akan meg-eksekusi proses insert, disini juga menggunakan try catch untuk proses insert data nya. Berikut code untuk file create.php nya : 


<?php
require_once('koneksi.php');
if($_POST){
    try {
       $sql = "INSERT INTO TbBlog (id_kategori,tanggal,judul,isi,status) VALUES ('".$_POST['id_kategori']."','".$_POST['tanggal']."','".$_POST['judul']."','".$_POST['isi']."','".$_POST['status']."')";
       if(!$koneksi->query($sql)){
          echo $koneksi->error;
          die();
        }
    } catch (Exception $e) {
      echo $e;
      die();
    }
    echo "<script>
         alert('Data berhasil di simpan');
         window.location.href='index.php?page=crud/index';
         </script>";
}
?>
  <link rel="stylesheet" href="css/bootstrap.css" type="text/css">
  <div class="container">
<div class="row">
     <div class="col-lg-6">
         <h2> Tambah Data Baru</h2>
         <form action="" method="POST">
             <div class="form-group">
                 <label>Kategori</label>
                 <input type="text" value="" class="form-control" name="id_kategori">
             </div>
             <div class="form-group">
                 <label>Tanggal</label>
                 <input type="text" value="" class="form-control" name="tanggal">
             </div>
             <div class="form-group">
                 <label>Judul</label>
                 <input type="text" value="" class="form-control" name="judul">
             </div>
             <div class="form-group">
                 <label>Isi</label>
                 <input type="text" value="" class="form-control" name="isi">
             </div>
             <div class="form-group">
                 <label>Status</label>
                 <input type="text" value="" class="form-control" name="status">
             </div>
             <br>
             <input type="submit" class="btn btn-primary btn-sm" name="create" value="Create">
         </form>
      </div>
</div>
</div>

Berikut ini adalah tampilan pada halaman index nya :


Halaman Create :


Pop up berhasil membuat data baru :


Pop up untuk menghapus data :


Sekian artikel dari saya mengenai Cara Membuat CRUD Native PHP dengan MySQLi, apabila ada pertanyaan silahkan bertanya pada kolom komentar di bawah :)