profile picture

Home

PHP CRUD

23 Jun 2025 -

penjelasan tentang PHP CRUD

1. Koneksi.php

<?php

$host = 'localhost';
$username = 'root';
$password = '';
$db_nama = 'pendaftaran';

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

if (!$koneksi){
    die("koneksi gagal:". mysqli_connect_error());
}else {
    echo "koneksi database berhasil";
}

?>

Penjelasan dan Fungsi Kode:

1. <?php

Menandakan bahwa kode setelah ini adalah kode PHP.


2. Variabel Koneksi Database:

$host = 'localhost';
$username = 'root';
$password = '';
$db_nama = 'pendaftaran';

3. Membuat Koneksi ke Database:

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

Fungsi mysqli_connect(): Digunakan untuk membuat koneksi ke server MySQL. Jika berhasil, variabel $koneksi akan menyimpan koneksi tersebut.


4. Mengecek Koneksi:

if (!$koneksi){
    die("koneksi gagal:". mysqli_connect_error());
}else {
    echo "koneksi database berhasil";
}

2. index.php

 <?php

echo "
<h2> pendaftaran siswa baru</h2>

<h1> digital talent</h1>

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

Penjelasan


Fungsinya:

Untuk menampilkan navigasi/menu awal pada halaman pendaftaran siswa secara otomatis menggunakan PHP.

3. Form-daftar.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Form pendaftaran | Digital Talent</title>
</head>
<body>
    <h2>Formulir Pendaftaran siswa baru</h2>
    <form action="create.php" method="POST">
        <table>
            <tr>
                <td>Nama</td>
                <td>:</td>
                <td><input type="text" name="nama"></td>
            </tr>
            <tr>
                <td>Alamat</td>
                <td>:</td>
                <td><textarea name="alamat"></textarea></td>
            </tr>
            <tr>
                <td>Jenis Kelamin</td>
                <td>:</td>
                <td>
                    <input type="radio" name="jenis_kelamin" value="1"> Laki-laki
                    <input type="radio" name="jenis_kelamin" value="0"> Perempuan
                </td>

                
            </tr>
            <tr>
                <td>Agama</td>
                <td>:</td>
                <td>
                    <select name="agama">
                        <option>Islam</option>
                        <option>Kristen</option>
                        <option>Hindu</option>
                        <option>Budha</option>
                        <option>Konghucu</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>Sekolah Asal</td>
                <td>:</td>
                <td><input type="text" name="sekolah_asal"></td>
            </tr>
            <tr>
                <td></td>
                <td></td>
                <td><input type="submit" name="submit" value="Daftar"></td>
        </table>
    </form>
</body>
</html>

Penjelasan

<h2>Formulir Pendaftaran siswa baru</h2>

Judul utama halaman.

<form action="create.php" method="POST">

Isi Formulir:

Nama

<input type="text" name="nama">

Input teks untuk nama siswa.

Alamat

<textarea name="alamat"></textarea>

Textarea untuk menulis alamat lengkap.

Jenis Kelamin

<input type="radio" name="jenis_kelamin" value="1"> Laki-laki
<input type="radio" name="jenis_kelamin" value="0"> Perempuan

Tombol pilihan (radio) antara Laki-laki dan Perempuan.

Agama

<select name="agama"> ... </select>

Dropdown menu untuk memilih agama. Pilihan: Islam, Kristen, Hindu, Budha, Konghucu.

Sekolah Asal

<input type="text" name="sekolah_asal">

Input teks untuk nama sekolah sebelumnya.

Tombol Submit

<input type="submit" name="submit" value="Daftar">

Tombol untuk mengirim form.

Fungsinya

Formulir ini digunakan untuk mendaftarkan siswa baru. Data akan dikirim ke create.php dan bisa disimpan ke database.

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) ;
 }  
 
 ?>

Ambil data dari form:

$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jenis_kelamin = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah_asal = $_POST['sekolah_asal'];

Mengambil data yang dikirim dari form HTML dengan metode POST.

Query SQL:

$sql = "INSERT INTO siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal)
        VALUES ('$nama', '$alamat', '$jenis_kelamin', '$agama', '$sekolah_asal')";

Membuat perintah SQL untuk menyimpan data ke tabel siswa.

Eksekusi Query:

if (mysqli_query($koneksi, $sql)) {
    header("location:list-siswa.php");
}

Jika berhasil disimpan, redirect ke halaman list-siswa.php.

Jika Gagal:

else {
    echo "Error:" . $sql . "<br>" . mysqli_error($koneksi);
}

Menampilkan pesan error jika query gagal.

5.list-siswa.php

<!doctype html>
<html>
<head>
    <title>Daftar Siswa</title>
</head>
<body>
    <h2>Siswa yang sudah mendaftar</h2>

    <ul>
        <li><a href="index.php">Home</a></li>
        <li><a href="from-daftar.php">[+] Tambah Baru</a></li>
    </ul>

    <?php
    include "koneksi.php";

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

    <table border ="1">
        <thead>
            <tr>
                <th>No</th>
                <th>Nama</th>
                <th>Alamat</th>
                <th>Jenis Kelamin</th>
                <th>Agama</th>
                <th>Sekolah Asal</th>
                <th>Tindakan</th>
            </tr>
        </thead>
        <tbody>
        <?php
        $no = 1;
        while ($row = mysqli_fetch_assoc($result)) {
        ?>
            <tr>
                <td><?php echo $no++; ?></td>
                <td><?php echo $row['nama']; ?></td>
                <td><?php echo $row['alamat']; ?></td>
                <td>
                    <?php
                    if ($row['jenis_kelamin'] == 1) {
                        echo "Laki-laki";
                    } else {
                        echo "Perempuan";
                    }
                    ?>
                </td>
                <td><?php echo $row['agama']; ?></td>
                <td><?php echo $row['sekolah_asal']; ?></td>
                <td>
                    <a href="form-edit.php?id=<?php echo $row['id']; ?>">Edit</a>
                    <a href="form-delete.php?id=<?php echo $row['id']; ?>">Delete</a>
                </td>
            </tr>
        <?php
        }
        ?>
        </tbody>
    </table>
</body>
</html>

Header HTML

<h2>Siswa yang sudah mendaftar</h2>
<ul>
  <li><a href="index.php">Home</a></li>
  <li><a href="from-daftar.php">[+] Tambah Baru</a></li>
</ul>

Navigasi ke halaman utama dan form pendaftaran baru.

include "koneksi.php";

Menghubungkan ke database.

Ambil Data dari Tabel siswa

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

Mengambil semua data siswa dari database.

Tampilkan Data dalam Tabel HTML

Data siswa ditampilkan satu per satu menggunakan while, termasuk:

6. Form-edit.php

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Form Edit Siswa</title>
</head>
<body>

<?php
    include "koneksi.php";
    $id = $_GET['id'];
    $sql = "SELECT * FROM siswa WHERE id=$id";
    $result = mysqli_query($koneksi, $sql);
    $row = mysqli_fetch_assoc($result);
?>

<h2>Formulir Edit Siswa</h2>
<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 if ($row['jenis_kelamin'] == 1) echo "checked" ?>> Laki-Laki
    <input type="radio" name="jenis_kelamin" value="0" <?php if ($row['jenis_kelamin'] == 0) echo "checked" ?>> Perempuan <br/>
    Agama :
    <select name="agama">
        <option>--Pilih Agama--</option>
        <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>
    </select> <br/>
    Sekolah Asal :
    <input type="text" name="sekolah_asal" value="<?php echo $row['sekolah_asal'] ?>"> <br/><br/>
    <button type="submit">Update</button>
    <a href="list-siswa.php">Batal</a>
</form>

</body>
</html>

Penjelasan Per Bagian:

1. include "koneksi.php";

Menghubungkan ke database.

2. Ambil data berdasarkan ID:

$id = $_GET['id'];
$sql = "SELECT * FROM siswa WHERE id=$id";

Mengambil data siswa dengan ID tertentu dari database untuk diedit.

Isi Form:

Form menampilkan data yang sudah ada, dan bisa diubah:

Nilai-nilai sebelumnya otomatis diisi (prefilled) sesuai data yang diambil dari database.

saat Submit:

Form dikirim ke update.php untuk menyimpan perubahan.

Kesimpulan:

Halaman ini digunakan untuk mengedit data siswa. Data diambil dari database lalu ditampilkan, dan setelah diubah akan dikirim ke update.php untuk diproses.

7. update.php

<?php

include "koneksi.php";

$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";

if (mysqli_query($koneksi, $sql)) {
    header("Location: list-siswa.php");
} else {
    echo "Error updating record: " . mysqli_error($koneksi);
}

?>

Penjelasan

Kesimpulan:

Kode ini digunakan untuk memperbarui data siswa di database berdasarkan input dari form edit.

8. Form-delete.php

 <doctype html>
    <html>
    <head>
         <meta charset="utf-8">
         <title>Form Hapus Siswa</title>
    <head>
    <body>

    <?php
    include "koneksi.php";
    $id = $_GET['id'];
    $sql = "SELECT * FROM siswa WHERE id=$id" ;
    $result = mysqli_query($koneksi, $sql);
    $row = mysqli_fetch_assoc($result);
    ?>

    <h2>Apakah Anda Yakin akan menghapus data tersebut?</h2>
    <form action= "delete.php" method="POST">
    <input type= "hidden"  name ="id" value="<?php echo $row['id'] ?>">
    Nama : <?php echo $row['nama'] ?> <br/>
    Jenis Kelamin :
    <?php
    if ($row['jenis_kelamin']== 1){
        echo "laki laki";
    } else {
        echo "perempuan";
    }
    ?> <br/>
    Agama : <?php echo $row['agama'] ?> <br/>
    <button type= "submit"> Ya</button>
    <a href="list-siswa.php">Tidak</a>
</form>
</body>
</html> 

Penjelasan

Pilihan User:

Kesimpulan:

Form ini digunakan untuk mengkonfirmasi penghapusan siswa, menampilkan datanya, dan menunggu keputusan pengguna (hapus atau batal).

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) ;
 }  
 
 ?>

Penjelasan

Kesimpulan

Kode ini digunakan untuk mengeksekusi penghapusan data siswa dari tabel siswa secara permanen.