Cara Membuat CRUD Native PHP dengan Mysqli
PHP ProgrammingPada 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
+-------------+-------------+------+-----+---------+----------------+
| 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)
<?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
<?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>
<?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 :