profile picture

home

PHP Crud

02 Jun 2025 -

Penjelasan tentang PHP Crud

PHP Crud

๐Ÿ“ Tutorial: Membuat Formulir Pendaftaran Siswa Menggunakan PHP & MySQL

๐ŸŽฏ Tujuan

Membuat sistem pendaftaran siswa sederhana yang terdiri dari fitur:


๐Ÿ“ Struktur Folder dan File


latihan/
โ”œโ”€โ”€ create.php
โ”œโ”€โ”€ delete.php
โ”œโ”€โ”€ form-daftar.php
โ”œโ”€โ”€ form-delete.php
โ”œโ”€โ”€ form-edit.php
โ”œโ”€โ”€ index.php
โ”œโ”€โ”€ koneksi.php
โ”œโ”€โ”€ list-siswa.php
โ””โ”€โ”€ update.php


๐Ÿ—ƒ๏ธ 1. Buat Database dan Tabel

Buka phpMyAdmin, lalu jalankan perintah SQL berikut:

CREATE DATABASE workshop;

USE workshop;

CREATE TABLE siswa (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100),
    alamt VARCHAR(200),
    jenis_kelamin TINYINT(1),
    agama VARCHAR(20),
    sekolah_asal VARCHAR(50)
);

โš ๏ธ Perhatikan: kolom alamt seharusnya alamat agar tidak typo.


๐Ÿ”Œ 2. File koneksi.php

<?php
$host = 'localhost'; 
$username = 'root';
$password = '';
$db_name = 'workshop';

$koneksi = mysqli_connect($host, $username, $password, $db_name);

if (!$koneksi) {
    die("koneksi gagal: " . mysqli_connect_error());
}
?>

๐Ÿงพ 3. Formulir Pendaftaran (form-daftar.php)

Menampilkan form input siswa:

<form action="create.php" method="POST">
    <input type="text" name="nama">
    <textarea name="alamat"></textarea>
    <input type="radio" name="jenis_kelamin" value="1"> Laki-laki
    <input type="radio" name="jenis_kelamin" value="0"> Perempuan
    <select name="agama">
        <option>Islam</option>
        <option>Kristen</option>
        <option>Hindu</option>
        <option>Budha</option>
    </select>
    <input type="text" name="sekolah_asal">
    <input type="submit" value="Daftar">
</form>

โœ… 4. Simpan Data (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 "Gagal simpan: " . mysqli_error($koneksi);
}
?>

๐Ÿ“‹ 5. Tampilkan Daftar (list-siswa.php)

<?php
$sql = "SELECT * FROM siswa";
$result = mysqli_query($koneksi, $sql);

while ($row = mysqli_fetch_assoc($result)) {
    echo $row['nama'];
    echo $row['alamat'];
    ...
    echo "<a href='form-edit.php?id={$row['id']}'>Edit</a>";
    echo "<a href='form-delete.php?id={$row['id']}'>Delete</a>";
}
?>

๐Ÿ“ 6. Edit Data (form-edit.php & update.php)

form-edit.php

$sql = "SELECT * FROM siswa WHERE id=$id";
$row = mysqli_fetch_assoc($result);
<input type="text" name="nama" value="<?= $row['nama'] ?>">
<textarea name="alamat"><?= $row['alamat'] ?></textarea>

update.php

<?php
$sql = "UPDATE siswa SET nama='$nama', alamat='$alamat', ... WHERE id=$id";
?>

๐Ÿ—‘๏ธ 7. Hapus Data (form-delete.php & delete.php)

form-delete.php

$sql = "SELECT * FROM siswa WHERE id=$id";
<form action="delete.php" method="POST">
    <input type="hidden" name="id" value="<?= $row['id'] ?>">
    <button type="submit">Ya</button>
</form>

delete.php

<?php
$id = $_POST['id'];
$sql = "DELETE FROM siswa WHERE id=$id";
?>

๐Ÿ–ฅ๏ธ 8. Menu Utama (index.php)

<h3>Menu</h3>
<ul>
    <li><a href="form-daftar.php">Daftar Baru</a></li>
    <li><a href="list-siswa.php">Pendaftaran</a></li>
</ul>