PHP NATIVE : Membuat CRUD

Tools Yang Di Perlukan :

  1. XAMPP (Download Disini)
  2. Text Editor
    Visual Studio Code (Download Disini)
    Sublime Text (Download Disini)

Langkah Langkah :

  • Membuat Database & Table Baru pada phpMyAdmin 

  • Setelah Itu membuat file baru pada file XAMPP nya
    – Buka Folder XAMPP
    – Setelah itu Buka htdocs
    – Didalam folder htdocs buat folder baru
  • Setelah Melakukan Langkah Di Nomor 2 tadi langsung kita membuat konfigurasi untuk menghubungkan database & table tadi

    koneksi.php
<?php
 
$host = "localhost"; // Nama host database
$user = "root"; // Nama pengguna database (default biasanya "root" untuk MySQL)
$pass = ""; // Kata sandi pengguna database (Jika menggunakan password)
$name = "contoh_crud"; // Nama database yang digunakan
 
$link = mysqli_connect($host, $user, $pass, $name);
 
// Mengirim pesan jika error disaat mengkoneksikan database
 
if (!$link) {
    die("Koneksi Dengan Database Gagal : " . mysqli_connect_errno() .
        " - " . mysqli_connect_error());
}
  • Setelah membuat koneksi langsung saja kita membuat untuk tampilan nya dengan nama file index.php

Preview

Codingan :

<?php
include 'koneksi.php'; // Untuk menyertakan (include) file koneksi.php ke dalam script PHP
$query = "SELECT * FROM sekolah"; // Untuk Memanggil data sesuai tabel
if (isset($_GET['aksi'])) {
    if ($_GET['aksi'] == 'delete') {
        // Untuk Menghapus sesuai data & ID
        $id = $_GET['id'];
        $query_delete = "DELETE FROM sekolah WHERE id = $id";
        $result_delete = mysqli_query($link, $query_delete);
 
        if ($result_delete) {
            echo "Data telah dihapus.";
        } else {
            echo "Gagal menghapus data: " . mysqli_error($link);
        }
    }
}
 
$result = mysqli_query($link, $query);
//  digunakan untuk menjalankan query SQL yang didefinisikan dalam variabel $query
//  menggunakan koneksi database yang didefinisikan dalam variabel $link
?>
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Contoh Crud</title>
</head>
<body>
    <h1>Data Siswa</h1>
    <a href="tambah.php">Tambahkan Data</a>
    <table border='1'>
        <tr>
            <th>No</th>
            <th>Nama</th>
            <th>Kelas</th>
            <th>Alamat</th>
            <th>Aksi</th>
        </tr>
        <?php
        $no = 1;
        while ($row = mysqli_fetch_assoc($result)) {
            echo "<tr>";
            echo "<td>" . $no . "</td>";
            echo "<td>" . $row['nama'] . "</td>";
            echo "<td>" . $row['kelas'] . "</td>";
            echo "<td>" . $row['alamat'] . "</td>";
            echo "<td><a href='edit.php?id=" . $row['id'] . "'>Edit</a> | <a href='?aksi=delete&id=" . $row['id'] . "'>Delete</a></td>";
            echo "</tr>";
        }
        ?>
    </table>
</body>
 
</html>
  • Selanjut nya kita membuat Form & Controller untuk menambahkan data

Codingan Tambah.php (Form)

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tambah Data Siswa</title>
</head>
 
<body>
    <h1>Tambah Data Siswa</h1>
    <form action="proses_tambah.php" method="post">
        <label for="nama">Nama:</label>
        <input type="text" id="nama" name="nama" required>
        <br>
 
        <label for="kelas">Kelas:</label>
        <input type="text" id="kelas" name="kelas" required>
        <br>
 
        <label for="alamat">Alamat:</label>
        <input type="text" id="alamat" name="alamat" required>
        <br>
 
        <input type="submit" value="Tambah">
    </form>
</body>
 
</html>

Proses_tambah.php (Controller)

<?php
include 'koneksi.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Ambil data dari form
    $nama = $_POST['nama'];
    $kelas = $_POST['kelas'];
    $alamat = $_POST['alamat'];
    // Query untuk menambahkan data ke dalam tabel
    $query = "INSERT INTO sekolah (nama, kelas, alamat) VALUES ('$nama', '$kelas', '$alamat')";
    $result = mysqli_query($link, $query);
    if ($result) {
        header("Location: index.php"); // Redirect ke halaman utama setelah data ditambahkan
    } else {
        echo "Gagal menambahkan data: " . mysqli_error($link);
    }
}
  • Setelah itu membuat Form Edit & Controller nya

Edit.php (Form)

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Edit Data Siswa</title>
</head>
 
<body>
    <h1>Edit Data Siswa</h1>
    <?php
    include 'koneksi.php';
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $id = $_POST['id'];
        $nama = $_POST['nama'];
        $kelas = $_POST['kelas'];
        $alamat = $_POST['alamat'];
        $query_update = "UPDATE sekolah SET nama = '$nama', kelas = '$kelas', alamat = '$alamat' WHERE id = $id";
        $result_update = mysqli_query($link, $query_update);
 
        if ($result_update) {
            echo "Data telah diupdate. <a href='index.php'>Kembali ke halaman utama</a>";
        } else {
            echo "Gagal mengupdate data: " . mysqli_error($link);
        }
    } else {
        $id = $_GET['id']; // Ambil ID dari URL
        $query_select = "SELECT * FROM sekolah WHERE id = $id";
        $result_select = mysqli_query($link, $query_select);
        $row = mysqli_fetch_assoc($result_select);
    ?>
        <form action="edit_proses.php" method="post">
            <input type="hidden" name="id" value="<?php echo $id; ?>">
            <label for="nama">Nama:</label>
            <input type="text" id="nama" name="nama" value="<?php echo $row['nama']; ?>" required>
            <br>
            <label for="kelas">Kelas:</label>
            <input type="text" id="kelas" name="kelas" value="<?php echo $row['kelas']; ?>" required>
            <br>
            <label for="alamat">Alamat:</label>
            <input type="text" id="alamat" name="alamat" value="<?php echo $row['alamat']; ?>" required>
            <br>
            <input type="submit" value="Update">
        </form>
    <?php
    }
    ?>
</body>
 
</html>

Subscribe

Related articles

Web Developer | Pengalaman Magang di Udacoding

Udacoding menjadi salah satu tempat, dimana peserta magang...

Segala Hal yang Perlu Kamu Tahu tentang Dark Theme

Ngomongin mode gelap, kayaknya sekarang lagi jadi yang hits...

TinyMCE: Solusi Praktis untuk Konten Web yang Lebih Interaktif

TinyMCE adalah alat untuk membuat dan mengedit teks di...

LEAVE A REPLY

Please enter your comment!
Please enter your name here