Anda di halaman 1dari 7

Membuat CRUD dengan PHP MySQLi

Belajar PHP — Membuat CRUD dengan PHP MySQLi.

Dalam pemrograman komputer, Create, Read,


Update dan Delete (CRUD) adalah empat fungsi dasar
penyimpanan pada database.

Kadang kala digunakan ketika mendefinisikan empat fungsi dasar


CRUD, seperti membuat atau menambahkan data disebut Create,
mengambil data disebut Read, memodifikasi disebut Update, dan
menghancurkan atau menghapus disebut dengan Delete.

MySQLi

Ekstensi MySQLi (MySQL Improved) adalah driver database


relasional yang digunakan dalam bahasa scripting PHP untuk
menyediakan antarmuka dengan database MySQL.
Perbedaan MySQL dengan MySQLi

Pada dasarnya, MySQL adalah database driver lama, dan MySQLi


adalah driver peningkatannya. Huruf “i” pada MySQLi merupakan
singkatan dari “Improved “.

MySQLi dapat dilakukan dengan cara prosedural dan berorientasi


objek, sedangkan MySQL hanya dapat digunakan secara prosedural
saja.

Baiklah.. Langsung saja berikut adalah kode untuk CRUD dengan


PHP MySQLi.

Artikel terkait: Pencarian data menggunakan PHP

Database

Pertama buat dulu databasenya, disini saya buat database dengan


nama test dan didalamnya terdapat tabel dengan nama produk.

Struktur tabelnya akan seperti berikut:

Pastekan kode berikut pada menu SQL untuk membuat database


beserta tabel didalamnya.
--
-- Database: `test`
-- CREATE DATABASE IF NOT EXISTS `test`; -- buat database test
jika belum ada
USE `test`; -- gunakan database test --
-- Struktur dari tabel `produk`
-- CREATE TABLE `produk` (
`id_produk` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`nama_produk` varchar(50) NOT NULL,
`harga` int(11) NOT NULL,
`qty` int(11) NOT NULL
);

koneksi.php

Untuk menyambungkan ke database tentunya kita membutuhkan


koneksi, berikut kodenya.
<?php$host = 'localhost';
$username = 'root';
$password = '';
$db_name = 'test'; // nama databasenya$conn = new mysqli($host,
$username, $password, $db_name);?>

index.php

Pertama kita buat file index.php ini untuk menampilkan ( Read)


semua data dari database dan juga terdapat form untuk
menambahkan ( Create) data.
<?php
// panggil koneksinya
require_once 'koneksi.php';
?><!DOCTYPE html>
<html>
<head>
<title>PLajariKode - CRUD dengan PHP MySQLi</title>
</head>
<body>
<h1>PlajariKode - CRUD dengan PHP MySQLi</h1>

<!--
Create atau menambahkan data baru
Data akan dikirimkan ke add.php untuk diproses
-->
<form method="post" action="add.php">
<input type="text" name="nama_produk" placeholder="Nama
Produk">
<input type="number" name="harga" placeholder="Harga">
<input type="number" name="qty" placeholder="Qty">
<input type="submit" name="submit" value="Tambah Data">
</form><br/><!-- Read atau menampilkan data dari database -->
<table border="1">
<tr>
<th>No.</th> <th>Nama Produk</th>
<th>Harga</th>
<th>Qty</th>
<th colspan="2">Aksi</th>
</tr><?php
// Tampilkan semua data
$q = $conn->query("SELECT * FROM produk");$no = 1; // nomor
urut
while ($dt = $q->fetch_assoc()) :
?><tr>
<td><?= $no++ ?></td>
<td><?= $dt['nama_produk'] ?></td>
<td><?= $dt['harga'] ?></td>
<td><?= $dt['qty'] ?></td>
<td><a href="update.php?id=<?= $dt['id_produk'] ?
>">Ubah</a></td>
<td><a href="delete.php?id=<?= $dt['id_produk'] ?>"
onclick="return confirm('Anda yakin akan menghapus data
ini?')">Hapus</a></td>
</tr><?php
endwhile;
?></table>
</body>
</html>

Output:

add.php
Pada file ini kita membuat kode untuk proses penambahan ( Insert)
data ke database.
<?phprequire_once 'koneksi.php';if (isset($_POST['submit'])) {
$n_produk = $_POST['nama_produk'];
$harga = $_POST['harga'];
$qty = $_POST['qty'];// id_produk bernilai '' karena kita set
auto increment
$q = $conn->query("INSERT INTO produk VALUES ('', '$n_produk',
'$harga', '$qty')");if ($q) {
// pesan jika data tersimpan
echo "<script>alert('Data produk berhasil ditambahkan');
window.location.href='index.php'</script>";
} else {
// pesan jika data gagal disimpan
echo "<script>alert('Data produk gagal ditambahkan');
window.location.href='index.php'</script>";
}
} else {
// jika coba akses langsung halaman ini akan diredirect ke
halaman index
header('Location: index.php');
}

update.php

Pada file ini kita akan menampilkan kembali data yang akan diubah.
<?phprequire_once 'koneksi.php';if (isset($_GET['id'])) {
$id = $_GET['id'];$q = $conn->query("SELECT * FROM produk
WHERE id_produk = '$id'");foreach ($q as $dt) :
?><h1>PlajariKode - CRUD dengan PHP MySQL</h1>
<h2>Halaman Ubah Data</h2><form action="proses_update.php"
method="post">
<input type="hidden" name="id_produk" value="<?=
$dt['id_produk'] ?>">
<input type="text" name="nama_produk" value="<?=
$dt['nama_produk'] ?>">
<input type="number" name="harga" value="<?= $dt['harga'] ?
>">
<input type="number" name="qty" value="<?= $dt['qty'] ?>">
<input type="submit" name="submit" value="Ubah Data">
</form><?php
endforeach;
}

Output:
proses_update.php

Data yang diubah pada halaman update akan dikirimkan kesini


untuk proses perubahan ( Update) data.
<?phprequire_once 'koneksi.php';if (isset($_POST['submit'])) {
$id = $_POST['id_produk'];
$n_produk = $_POST['nama_produk'];
$harga = $_POST['harga'];
$qty = $_POST['qty'];$q = $conn->query("UPDATE produk SET
nama_produk = '$n_produk', harga = '$harga', qty = '$qty' WHERE
id_produk = '$id'");if ($q) {
// pesan jika data berubah
echo "<script>alert('Data produk berhasil diubah');
window.location.href='index.php'</script>";
} else {
// pesan jika data gagal diubah
echo "<script>alert('Data produk gagal diubah');
window.location.href='index.php'</script>";
}
} else {
// jika coba akses langsung halaman ini akan diredirect ke
halaman index
header('Location: index.php');
}

delete.php

Dan yang terakhir yaitu hapus ( Delete) data dari database.


<?phprequire_once 'koneksi.php';if (isset($_GET['id'])) {
$id = $_GET['id'];// perintah hapus data berdasarkan id yang
dikirimkan
$q = $conn->query("DELETE FROM produk WHERE id_produk =
'$id'");// cek perintah
if ($q) {
// pesan apabila hapus berhasil
echo "<script>alert('Data berhasil dihapus');
window.location.href='index.php'</script>";
} else {
// pesan apabila hapus gagal
echo "<script>alert('Data berhasil dihapus');
window.location.href='index.php'</script>";
}
} else {
// jika mencoba akses langsung ke file ini akan diredirect ke
halaman index
header('Location:index.php');
}

Anda mungkin juga menyukai