
- CRUD PHP Native dengan MySQLI Extension – Database (1)
- CRUD PHP Native dengan MySQLi Extension – Anggota (2)
- CRUD PHP Native dengan MySQLi Extension – Update & Delete Anggota(3)
- CRUD PHP Native dengan MySQLi Extension – Buku (4)
- CRUD PHP Native dengan MySQLI Extension – Daftar Isi
MWI – PHP pada MySQLi extension masih dapat dijalankan baik dari versi PHP 5 hingga versi PHP 8. Pada bagian 2 ini, buat folder kerja didalam web server kita (htdocs bagi yang menggunakan XAMPP pada Windows atau html jika menggunaka Linux) dengan nama pustaka lalu buat 6 folder (sesuai dengan banyaknya tabel yang dibuat) dan beri nama sesuai dengan nama tabel (buku, rak, anggota, petugas, peminjaman, pengembalian).
Menu Awal

CRUD untuk tabel anggota, pertama buat sebuah file dengan nama index.php dan di letakan di dalam folder kerja kita (folder pustaka). dengan isi sebagai berikut:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>CRUD (Create, Read, Update & Delete) Perpustakaan</title>
</head>
<body>
<h1>CRUD Perpustakaan</h1>
| <a href="buku/">Buku</a> | <a href="rak/">Rak</a> | <a href="anggota/">Anggota</a> | <a href="petugas/">petugas</a> | <a href="pinjaman/">Peminjaman</a> | <a href="pengembalian/">Pengembalian</a> |
</body>
</html>
Lanjutkan dengan membuat file koneksi.php dalam folder yang sama, dengan isi, sesuaikan password database dengan settingan web server masing-masing.
<?php
$host = "localhost";
$userdb = "root";
$passdb = "";
$namadb = "mwi_pustaka";
$koneksi=mysqli_connect($host, $userdb, $passdb, $namadb);
?>
Anggota
Lanjutkan dengan isi file didalam folder anggota, yang pertama buat file dengan nama index.php dan isi dengan:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Perpustakaan | Modul Anggota</title>
</head>
<body>
<a href="../">Home</a> | <a href="tambah.php">Tambah</a>
<h1>Modul Anggota</h1>
<table cellspacing=0 cellpadding=5 border=1>
<tr bgcolor="#ccc">
<th>No</th>
<th>Nama</th>
<th>No HP</th>
<th>Alamat</th>
<th>Tgl Gabung</th>
<th>Status</th>
<th>Pilihan</th>
</tr>
<?php
require_once("../koneksi.php");
$sql ="SELECT * FROM anggota";
$query=mysqli_query($koneksi, $sql);
if(mysqli_num_rows($query)==0){
echo "<td colspan=7>Data Masih Kosong</td>";
}else{
$no=1;
while($r=mysqli_fetch_assoc($query)){
echo "<tr>";
echo "<td>$no</td>";
echo "<td>" . $r['nama'] . "</td>";
echo "<td>" . $r['hp'] . "</td>";
echo "<td>" . $r['alamat'] . "</td>";
echo "<td>" . $r['tgabung'] . "</td>";
echo "<td>" . $r['status'] . "</td>";
echo '<td>Edit | Hapus</td>';
echo "</tr>";
$no++;
}
}
?>
</table>
</body>
</html>
ini adalah materi R dari materi CRUD, artinya file ini hanya membaca (Read) dari database yang dibuat.
lanjutkan dengan C (Create), buat file dengan nama tambah.php dengan isi

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Tambah Anggota Perpustakaan</title>
</head>
<body>
<h1>Modul Tambah Anggota</h1>
<form action="simpan.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>Nama *</td>
<td><input type="text" name="nama" placeholder="Nama Lengkap" size="50" required></td>
</tr>
<tr>
<td>HandPhone</td>
<td><input type="text" name="hp"></td>
</tr>
<tr>
<td>Alamat</td>
<td><textarea name="alamat" cols="50" rows="5" placeholder="Tulis alamat lengkap anda disini"></textarea></td>
</tr>
<tr>
<td>Tanggal Gabung</td>
<td><input type="date" name="tgabung"></td>
</tr>
<tr>
<td>Status</td>
<td><input type="radio" name="status" value="Aktif" checked>Aktif
<input type="radio" name="status" value="Non aktif">Non aktif</td>
</tr>
<tr>
<td><input type="reset"</td>
<td><input type="submit" value="Simpan" name="simpan"></td>
</tr>
</table>
</form>
</body>
</html>
Lanjutkan dengan membuat file yang aan mengeksekusi ketik tombol simpan di klik, beri nama simpan.php dengan isi
<?php
//cek apakah ini hasil dari submit dari form atau langsung buka file
if(isset($_POST['simpan'])){
include_once("../koneksi.php");
$nama = $_POST['nama'];
$hp = $_POST['hp'];
$alamat = $_POST['alamat'];
$tgabung = $_POST['tgabung'];
$status = $_POST['status'];
//Berikan perintah simpan
$sql = "INSERT INTO anggota SET nama='$nama', hp='$hp', alamat='$alamat', tgabung='$tgabung', status='$status'";
$simpan=mysqli_query($koneksi, $sql);
if($simpan){
header('location:index.php');
}else{
include "index.php";
echo '<script language="JavaScript">';
echo 'alert("Data Gagal Ditambahkan.")';
echo '</script>';
}
}else{
echo "Jangan Akses langsung kemari, cek name pada submit <a href='index.php'>Kembali</a>";
}
?>
jika masih terjadi error coba trace error tersebut dengan cara menambahkan coding dibawah header dan jadikan header sebagai bari komentar seperti ini:
//header('location:index.php');
var_dump($sql);
Demikian sedikit catatan ini, semoga bermanfaat untuk sahabat sekalian, silahkan klik bagian 1 jika belum dikerjakan atau klik bagian 3 jika sudah beres bagian ini. Terima kasih dan sukses selalu, salam dari sahabatmu ms. (ms).
Pingback: CRUD PHP Native dengan MySQLI Extension - Daftar Isi | Muhidin Saimin
Pingback: CRUD Laravel Pustaka - Daftar Isi | Muhidin Saimin
Pingback: CRUD PHP Native dengan MySQLi Extension – Update & Delete Anggota(3) - Muhidin Saimin