Rabu, 22 September 2021

Cara Membuat CRUD Dengan PHP Dan MySQL

 

Operasi CRUD menjadi bagian penting di dalam proses pengembangan website. Operasi ini menjadi inti dari seluruh proses pengelolaan data pada sebuah website. Maka dari itu, operasi CRUD menjadi sangat penting untuk dipelajari sebelum Anda membuat website yang andal.

Apa itu CRUD?

CRUD adalah singkatan dari Create, Read, Update, dan Delete. Proses ini sangat berkaitan dengan pengambilan atau transaksi data dari atau ke database. Hal ini menjadi krusial apabila berhubungan dengan sistem informasi perusahaan karena data yang diproses biasanya merupakan data transaksi.

Bagi PHP Developer, operasi CRUD biasanya menjadi pillar untuk mempelajari proses pengelolaan data menggunakan PHP dan tentu saja MySQL database. Nah CRUD ini bisa diibaratkan sebagai jalur atau koneksi yang menghubungkan antara bahasa pemrograman PHP dengan MySQL.

Lebih jelasnya, berikut ini ulasan operasi CRUD beserta contohnya:

  • Create (C) merupakan proses pembuatan data baru. Proses ini biasanya dilakukan ketika Anda mendaftar pada sebuah halaman website. Data yang Anda masukkan akan disimpan di dalam database menggunakan operasi Create.

  • Read (R) merupakan proses pengambilan data dari database. Proses ini biasanya terjadi ketika Anda ingin melakukan proses login di halaman website tertentu. Saat Anda klik “Login” maka website akan menjalankan proses “Read” untuk melakukan verifikasi akun yang Anda gunakan.

    Contoh operasi yang lebih sederhana yaitu ketika Anda mengakses sebuah halaman website, saat itu pula proses Read berjalan. Hasil dari operasi ini adalah tampilan halaman website yang Anda lihat di browser.
  • Update (U) adalah proses mengubah data yang berada di dalam database. Contoh proses ini ketika Anda mengubah profil di dalam akun sosial media. Saat Anda klik “Ubah”,  website akan mengirimkan proses Update ke dalam database. Kemudian database meresponnya dengan mengubah data lama menjadi data baru yang Anda tambahkan melalui halaman profil.
  • Delete (D) adalah proses untuk menghapus data yang ada di database. Proses ini mirip dengan Update, bedanya, proses Delete akan mengubah data yang ada di database menjadi ‘tidak ada’.

Itulah gambaran kecil penggunaan CRUD di website.

Supaya lebih mudah memahami, di bawah ini merupakan contoh penggunaan CRUD dengan menggunakan bahasa pemrograman PHP dan MySQL databases.

Cara Membuat CRUD Dengan PHP Dan MySQL

Developer aplikasi web sering menggunakan PHP dan MySQL sebagai komponen utamanya. Bahasa pemrograman PHP memproses berbagai fungsi untuk menjalankan operasi CRUD. Sedangkan MySQL bertugas untuk menyimpan database dari website.

MySQL sebenarnya tidak hanya bisa diakses menggunakan PHP saja, bahasa pemrograman lain seperti Python, JavaScript, dan sejenisnya juga bisa untuk mengakses MySQL.

Sedangkan PHP juga bisa menggunakan server database lain seperti PostgreSQL, MongoDB, dan sejenisnya.

Namun pada contoh ini kami menggunakan PHP dan MySQL karena lebih sederhana dan mudah untuk dipahami.

Catatan:
Perlu Anda ketahui juga, ada tiga tipe koneksi –koneksi ini terkadang disebut dengan API MySQL– antara PHP ke MySQL, yaitu mysql, mysqli, dan PDO (PHP Data Object).
Mysqli merupakan versi pengganti dari mysql. Hal ini dikarenakan mysql sudah tidak dikembangkan lagi sejak versi PHP 5.5. Sedangkan ketika ingin menghubungkan PHP dengan MySQL dan penyedia database lain, Anda perlu menggunakan tipe koneksi PDO.

Pada kesempatan ini, kita akan belajar menggunakan PHP dan MySQL untuk membuat aplikasi sederhana. Pada contoh kasus di bawah ini, kami akan mencoba membuat sebuah aplikasi sederhana untuk melihat dan menambahkan data pegawai.

1. Membuat Tabel Database

Supaya Anda bisa melakukan operasi CRUD tentu saja perlu sebuah data. Jadi hal pertama yang perlu Anda lakukan untuk membuat CRUD adalah menambahkan data ke dalam database di MySQL.

Anda dapat menambahkan data pegawai menggunakan query di bawah ini.

Pertama buat database terlebih dahulu.

CREATE DATABASE niagahoster;

Kemudian masukkan TABEL yang nantinya digunakan untuk data pegawai (employee).

CREATE TABLE employees (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    address VARCHAR(255) NOT NULL,
    salary INT(10) NOT NULL
);

Query di atas merupakan SQL yang bertugas untuk menyiapkan database beserta TABEL yang berisi variabel id, name (nama), alamat (address), dan salary (gaji).

Anda juga dapat menambahkan variabel lain, seperti nomor handphone, status, hobi, dan lain sebagainya.

Pastikan database berhasil terbuat dengan mengetikan perintah “show tables;”.

2. Membuat File Config

Nah! Setelah Anda mempersiapkan data, langkah selanjutnya adalah mempersiapkan koneksi supaya PHP dapat terhubung dengan MySQL. Caranya adalah dengan membuat sebuah file berisi script PHP khusus untuk melakukan koneksi.

Anda bisa memberikan nama apapun sesuai dengan keinginan. Pada contoh ini, kami menggunakan nama file config.php. Kemudian masukkan baris kode di bawah ini.

File ini nanti akan digabungkan dengan file lain menggunakan fungsi PHP require_once() dan berlaku juga untuk file yang lainnya.

Anda bisa melihat pada baris kode di bawah ini.

<?php
/* Database credentials. Assuming you are running MySQL server with default setting (user 'root' with no password) */

define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'password');
define('DB_NAME', 'niagahoster');

/* Attempt to connect to MySQL database */
$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>

Perlu menjadi catatan. Anda harus mengganti DB_SERVERDB_USERNAMEDB_PASSWORD, dan DB_NAME dengan detail database Anda masing-masing.

File config.php biasanya berisi beberapa konfigurasi yang berhubungan dengan website. Jadi file ini menjadi pusat konfigurasi dan sering dipanggil/digunakan di file lainnya.

3. Membuat Landing Page

Setelah Anda membuat data dan mengkoneksikan PHP ke database, langkah selanjutnya adalah membuat wadah untuk menampilkan data tersebut. Kami akan membuat sebuah landing page untuk aplikasi CRUD. Landing page ini nanti akan menampilkan record dari tabel database employees.

Di dalam landing page ini juga akan ada icon pada setiap record dari tabel database employee. Pada setiap data yang tampil di dalam tabel akan ada icon yang bisa digunakan untuk menjalankan perintah update, delete, dan melihat detail informasi atau data.

Kami juga akan menambahkan tombol create untuk menambahkan data employees. Tombol ini berguna untuk menambahkan record baru pada tabel employees di dalam database.

Untuk membuatnya, silakan masukkan baris kode di bawah ini ke dalam file index.php.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dashboard</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.js"></script>
    <style type="text/css">
        .wrapper{
            width: 650px;
            margin: 0 auto;
        }
        .page-header h2{
            margin-top: 0;
        }
        table tr td:last-child a{
            margin-right: 15px;
        }
    </style>
    <script type="text/javascript">
        $(document).ready(function(){
            $('[data-toggle="tooltip"]').tooltip();
        });
    </script>
</head>
<body>
    <div class="wrapper">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="page-header clearfix">
                        <h2 class="pull-left">Informasi Pegawai</h2>
                        <a href="create.php" class="btn btn-success pull-right">Tambah Baru</a>
                    </div>
                    <?php
                    // Include config file
                    require_once "config.php";

                    // Attempt select query execution
                    $sql = "SELECT * FROM employees";
                    if($result = mysqli_query($link, $sql)){
                        if(mysqli_num_rows($result) > 0){
                            echo "<table class='table table-bordered table-striped'>";
                                echo "<thead>";
                                    echo "<tr>";
                                        echo "<th>#</th>";
                                        echo "<th>Nama</th>";
                                        echo "<th>Alamat</th>";
                                        echo "<th>Salary</th>";
                                        echo "<th>Pengaturan</th>";
                                    echo "</tr>";
                                echo "</thead>";
                                echo "<tbody>";
                                while($row = mysqli_fetch_array($result)){
                                    echo "<tr>";
                                        echo "<td>" . $row['id'] . "</td>";
                                        echo "<td>" . $row['name'] . "</td>";
                                        echo "<td>" . $row['address'] . "</td>";
                                        echo "<td>" . $row['salary'] . "</td>";
                                        echo "<td>";
                                            echo "<a href='read.php?id=". $row['id'] ."' title='View Record' data-toggle='tooltip'><span class='glyphicon glyphicon-eye-open'></span></a>";
                                            echo "<a href='update.php?id=". $row['id'] ."' title='Update Record' data-toggle='tooltip'><span class='glyphicon glyphicon-pencil'></span></a>";
                                            echo "<a href='delete.php?id=". $row['id'] ."' title='Delete Record' data-toggle='tooltip'><span class='glyphicon glyphicon-trash'></span></a>";
                                        echo "</td>";
                                    echo "</tr>";
                                }
                                echo "</tbody>";
                            echo "</table>";
                            // Free result set
                            mysqli_free_result($result);
                        } else{
                            echo "<p class='lead'><em>No records were found.</em></p>";
                        }
                    } else{
                        echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
                    }

                    // Close connection
                    mysqli_close($link);
                    ?>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

Masukkan beberapa data pegawai melalui halaman landing page. Baris kode di kurang lebih menampilkan tabel seperti di bawah ini.

Tidak ada komentar:

Posting Komentar

Penyakit Menular Seksual Sangat Berbahaya

Sahabat gogomall - Penyakit menular seksual yang menyebar dari orang ke orang selama kontak seksual. PMS seperti sifilis (raja singa), trik...