PHP CRUD
25 Jun 2025 -
Panduan dasar CRUD menggunakan PHP dan MySQL.
Penjelasan tentang PHP CRUD
CRUD adalah singkatan dari Create, Read, Update, dan Delete. Ini adalah operasi dasar dalam pengelolaan data pada aplikasi berbasis database. Berikut ini adalah penjelasan fungsi dan sintaks dari setiap file yang digunakan dalam aplikasi PHP CRUD sederhana:
1. koneksi.php
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$db_name = 'latihan';
$koneksi = mysqli_connect($host, $username, $password, $db_name);
if (!$koneksi) {
die("koneksi gagal : " . mysqli_connect_error());
}
?>
Fungsi: Menghubungkan aplikasi ke database.
2. index.php
<?php
echo "
<h2> Pendaftaran Siswa Baru </h2>
<h1> Digital Talent </h1>
<h3> Menu </h3>
<ul>
<li><a href='form-daftar.php'>Daftar baru</a></li>
<li><a href='list-siswa.php'>Pendaftaran</a></li>
</ul>
";
?>
Fungsi: Halaman utama dan navigasi.
3. form-daftar.php
<form action="create.php" method="POST">
Nama: <input type="text" name="nama"><br>
Alamat: <textarea name="alamat"></textarea><br>
Jenis Kelamin:
<input type="radio" name="jenis_kelamin" value="1"> Laki-laki
<input type="radio" name="jenis_kelamin" value="0"> Perempuan<br>
Agama:
<select name="agama">
<option>Islam</option><option>Kristen</option><option>Hindu</option><option>Budha</option>
</select><br>
Sekolah Asal: <input type="text" name="sekolah_asal"><br>
<button type="submit">Daftar</button>
<a href="index.php">Batal</a>
</form>
Fungsi: Menampilkan form input siswa baru.
4. create.php
<?php
include "koneksi.php";
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jenis_kelamin = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah_asal = $_POST['sekolah_asal'];
$sql = "INSERT INTO siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal)
VALUES ('$nama', '$alamat', '$jenis_kelamin', '$agama', '$sekolah_asal')";
if (mysqli_query($koneksi, $sql)) {
header("location:list-siswa.php");
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($koneksi);
}
?>
Fungsi: Menyimpan data dari form ke database.
5. list-siswa.php
<?php include("koneksi.php"); ?>
<table border="1">
<tr>
<th>No</th><th>Nama</th><th>Alamat</th><th>JK</th><th>Agama</th><th>Sekolah</th><th>Tindakan</th>
</tr>
<?php
$sql = "SELECT * FROM siswa";
$query = mysqli_query($koneksi, $sql);
$no = 1;
while($row = mysqli_fetch_array($query)){
echo "<tr>";
echo "<td>".$no++."</td><td>".$row['nama']."</td><td>".$row['alamat']."</td>";
echo "<td>".($row['jenis_kelamin'] == 1 ? 'Laki-laki' : 'Perempuan')."</td>";
echo "<td>".$row['agama']."</td><td>".$row['sekolah_asal']."</td>";
echo "<td><a href='form-edit.php?id=".$row['id']."'>Edit</a> | <a href='form-delete.php?id=".$row['id']."'>Delete</a></td>";
echo "</tr>";
}
?>
</table>
Fungsi: Menampilkan semua data siswa dalam tabel.
6. form-edit.php
<?php
include("koneksi.php");
$id = $_GET['id'];
$sql = "SELECT * FROM siswa WHERE id=$id";
$query = mysqli_query($koneksi, $sql);
$row = mysqli_fetch_assoc($query);
?>
<form action="update.php" method="POST">
<input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
Nama: <input type="text" name="nama" value="<?php echo $row['nama']; ?>" /><br />
Alamat: <textarea name="alamat"><?php echo $row['alamat']; ?></textarea><br />
Jenis Kelamin:
<input type="radio" name="jenis_kelamin" value="1" <?php echo $row['jenis_kelamin']== 1 ? 'checked' : ''; ?>>Laki-laki
<input type="radio" name="jenis_kelamin" value="0" <?php echo $row['jenis_kelamin']== 0 ? 'checked' : ''; ?>>Perempuan<br />
Agama:
<select name="agama">
<option value="Islam" <?php if($row['agama'] == 'Islam') echo 'selected'; ?>>Islam</option>
<option value="Kristen" <?php if($row['agama'] == 'Kristen') echo 'selected'; ?>>Kristen</option>
<option value="Hindu" <?php if($row['agama'] == 'Hindu') echo 'selected'; ?>>Hindu</option>
<option value="Budha" <?php if($row['agama'] == 'Budha') echo 'selected'; ?>>Budha</option>
<option value="Konghucu" <?php if($row['agama'] == 'Konghucu') echo 'selected'; ?>>Konghucu</option>
</select><br />
Sekolah Asal: <input type="text" name="sekolah_asal" value="<?php echo $row['sekolah_asal']; ?>" /><br />
<input type="submit" value="Simpan" name="simpan" />
</form>
Fungsi: Menampilkan form edit data.
7. update.php
<?php
include("koneksi.php");
if(isset($_POST['simpan'])){
$id = $_POST['id'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jenis_kelamin = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah_asal = $_POST['sekolah_asal'];
$sql = "UPDATE siswa SET nama='$nama', alamat='$alamat', jenis_kelamin='$jenis_kelamin', agama='$agama', sekolah_asal='$sekolah_asal' WHERE id=$id";
$query = mysqli_query($koneksi, $sql);
if($query){
header('Location: list-siswa.php');
} else {
die("Gagal menyimpan perubahan...");
}
}
?>
Fungsi: Menyimpan perubahan data siswa.
8. form-delete.php
<?php
include "koneksi.php";
$id = $_GET['id'];
$sql = "SELECT * FROM siswa WHERE id=$id";
$result = mysqli_query($koneksi, $sql);
$row = mysqli_fetch_assoc($result);
?>
<form action="delete.php" method="POST">
<input type="hidden" name="id" value="<?php echo $row['id'] ?>">
Nama : <?php echo $row['nama'] ?> <br/>
Alamat : <?php echo $row['alamat'] ?> <br/>
Jenis Kelamin : <?php echo ($row['jenis_kelamin'] == 1 ? "Laki-laki" : "Perempuan"); ?> <br/>
Agama : <?php echo $row['agama'] ?> <br/>
Sekolah Asal : <?php echo $row['sekolah_asal'] ?> <br/>
<button type="submit">Ya</button>
<a href="list-siswa.php">Tidak</a>
</form>
Fungsi: Konfirmasi sebelum menghapus data.
9. delete.php
<?php
include "koneksi.php";
$id = $_POST['id'];
$sql = "DELETE FROM siswa WHERE id=$id";
if (mysqli_query($koneksi, $sql)) {
header("location:list-siswa.php");
} else {
echo "Error deleting record: " . mysqli_error($koneksi);
}
?>
Fungsi: Menghapus data berdasarkan ID.
Struktur Tabel siswa
CREATE TABLE siswa (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
alamat TEXT,
jenis_kelamin TINYINT(1),
agama VARCHAR(50),
sekolah_asal VARCHAR(100)
);