Tutorial PHP : #24 Membuat CRUD Dengan PHP dan MySQL

Crud adalah singkatan Create, Read, Update, Delete, sederhananya dengan CRUD ini kita akan memanipulasi data dari database, baik menampilkan, menambahkan, mengupdate serta menghapus data di database dengan menggunakan PHP. Dalam materi ini kita akan membuat aplikasi PHP sederhana untuk melakukan semua operasi ini pada tabel database MySQL.

Kita akan membuat sebuah aplikasi sederhana dengan sebuah tabel yang menampilkan data dari database di sisi frontend. Terdapat beberapa tombol untuk mengubah data yang ada di database lewat antarmuka yang kita buat. Tabel pengguna yang kita buat akan berisi informasi pengguna seperti nama, nomor telepon, email, dan lain-lain.

Langkah-Langkah Pembuatan CRUD

1. Membuat Database di MySQL

Pertama kita buat terlebih dahulu file database ppdb.sql bisa melalui phpmyadmin atau melalui console, dengan sintak seperti berikut ini :

/* Create Database and Table */
create database ppdb;

use ppdb;

CREATE TABLE `tbl_pendaftar` (
  `id` int(11) NOT NULL auto_increment,
  `nama` varchar(100),
  `username` varchar(100),
  `password` varchar(100),
  `email` varchar(100),
  `hp` varchar(15),
  PRIMARY KEY  (`id`)
);

2. Membuat file koneksi.php

File koneksi.php menyimpan informasi tentang database host, username dan password. Seperti berikut ini :

<?php
    $databaseHost = 'localhost';
    $databaseName = 'ppdb';
    $databaseUsername = 'root';
    $databasePassword = '';

    $varkoneksi=mysqli_connect($databaseHost,$databaseUsername,$databasePassword,$databaseName);

    if(mysqli_connect_errno($varkoneksi))
    {
        echo "gagal koneksi ke DB".mysqli_connect_error();
    }
?>

atau

<?php
    $varkoneksi=mysqli_connect("localhost","root","","laundry");

    if(mysqli_connect_errno($varkoneksi))
    {
        echo "gagal koneksi ke DB".mysqli_connect_error();
    }
?>

File koneksi.php menyimpan informasi tentang database host, username dan password. Untuk menghubungkan PHP dengan MySQL, kita menggunakan fungsi mysqli_connect() dengan alamat server sebagai parameter pertama, user database sebagai parameter kedua, password user sebagai parameter ketiga, dan nama database sebagai parameter keempat.

Baca Juga  Tutorial Bootstrap #10 : Modal Bootstrap

Silahkan isi password disesuaikan dengan yang dibuat di servernya. Jika tidak menggunakan passsword, maka isikan dengan String kosong saja.

$password = "";

3. Membuat file index.php dan login_aksi.php

File index.php merupakan file utama yang menyertakan file konfigurasi untuk koneksi database. File index.php ini menampilkan form untuk login. Jika login berhasil akan diarahkan ke file index.php yang ada di folder admin (berbeda dengan index.php di awal).

File login_aksi.php berfungsi untuk menjalankan aksi dari fom index.php.

Berikut sintak index.php

<!DOCTYPE html>
<html>
    <head>
        <title>Sistem Informasi PPDB</title>
    </head>

    <body>
        <h2><center>Sistem Informasi Laundry RPL</center></h2>

        <?php
            if(isset($_GET['pesan']))
            {
                if($_GET['pesan']=='gagal')
                {
                    echo "Gagal Login, username atau password salah";
                }
                else
                if($_GET['pesan']=='logout')
                {
                    echo "Anda sudah logout";
                }
                if($_GET['pesan']=='belum_login')
                {
                    echo "Anda harus login dahulu untuk mengakses halaman admin";
                }
            }
        ?>

        <form method="post" action="login_aksi.php">
            <table align="center">
                <tr>
                    <td>Username</td>
                    <td><input type="text" name="nama" placeholder="Masukan username"></td>
                </tr>

                <tr>
                    <td>Password</td>
                    <td><input type="password" name="katakunci" placeholder="Masukan password"></td>
                </tr>

                <tr>
                    <td></td>
                    <td><input type="submit" value="LOGIN"></td>
                </tr>
            </table>
        </form>

    </body>
</html>

Sintak login_aksi.php

<!DOCTYPE html>
<html>
    <head>
        <title>Halaman Admin sistem informasi laundry</title>
    </head>

    <body>
        
        <?php
            //mulai session
            session_start();

            //konek database
            include 'koneksi.php';

            //ambil data dari form login
            $username=$_POST['nama'];
            $password=$_POST['katakunci'];

            //query
            $data=mysqli_query($varkoneksi,"select * from tbl_pendaftar where username='$username' and password='$password'");


            //cek data
            $cek=mysqli_num_rows($data);

            if($cek>0)
            {
                $_SESSION['username']=$username;
                $_SESSION['status']='login';
                header("location:admin/index.php");
            }
            else
            {
                header("location:index.php?pesan=gagal");
            }
        ?>
    </body>
</html>

struktur file seperti berikut :

4. Membuat file index.php di dalam folder admin

File index.php ini merupakan file yang menyertakan file konfigurasi untuk koneksi database. Kemudian menampilkan semua daftar pengguna menggunakan MySQL Select Query. Pengguna yang akan ditampilkan di dalam daftar perlu menambahkan terlebih dahulu menggunakan tautan Tambahkan Pengguna Baru dan Logout.

Struktur file yang terdapat dalam folder admin

Sintak index.php

<?php
    //mulai session
    session_start();

    //cek status sudah login
    if($_SESSION['status']!="login")
    {
        header("location:../index.php?pesan=belum_login");
    }

    // koneksi ke database
    include '../koneksi.php';

    // Fetch semua data user dari database
    $result = mysqli_query($varkoneksi, "SELECT * FROM tbl_pendaftar ORDER BY id ASC");
?>

<html>
    <head>    
        <title>Homepage</title>
    </head>

    <body>
    <h2>Selamat datang <?php echo $_SESSION['username']; ?> di halaman admin</h2>

    <a href="tambah.php">Tambah Pengguna Baru</a><br/><br/>

        <table width='80%' border=1>
            <tr>
                <th>No</th> 
            <th>Nama</th> 
                <th>Username</th> 
                <th>Password</th> 
            <th>Email</th> 
                <th>HP</th> 
            <th>Update</th>
            </tr>
            <?php  
                while($user_data = mysqli_fetch_array($result)) 
                {         
                    echo "<tr>";
                        echo "<td>".$user_data['id']."</td>";
                        echo "<td>".$user_data['nama']."</td>";
                        echo "<td>".$user_data['username']."</td>";  
                        echo "<td>".$user_data['password']."</td>";  
                        echo "<td>".$user_data['email']."</td>"; 
                        echo "<td>".$user_data['hp']."</td>";     
                        echo "<td><a href='edit.php?id=$user_data[id]'>Edit</a> | <a href='delete.php?id=$user_data[id]'>Delete</a></td></tr>";        
                }
            ?>
        </table>

        <a href="logout.php">LOGOUT</a>
    </body>
</html>

Sintak logout.php

<?php
    //mulai session
    session_start();


    //hapus session
    session_destroy();

    //alihkan ke halaman login
    header("location:../index.php?pesan=logout");
?>

5. Membuat file tambah.php dan tambah_aksi.php

File tambah.php digunakan sebagai form untuk menambah user, yang selanjutnya diinput (insert) ke tbl_pendaftar.

Baca Juga  Modul HTML #3 : Penanganan Text dan Warna

Sintak tambah.php

<html>
    <head>
        <title>Tambah Pengguna</title>
    </head>

    <body>
        <a href="index.php">Home</a>
        <br/><br/>

        <form action="tambah_aksi.php" method="post" name="formtambah">
            <table width="25%" border="0">
                <tr> 
                    <td>Nama</td>
                    <td><input type="text" name="nama"></td>
                </tr>

                <tr> 
                    <td>Ussrname</td>
                    <td><input type="text" name="username"></td>
                </tr>

                <tr> 
                    <td>Password</td>
                    <td><input type="text" name="password"></td>
                </tr>

                <tr> 
                    <td>Email</td>
                    <td><input type="text" name="email"></td>
                </tr>
                <tr> 
                    <td>HP</td>
                    <td><input type="text" name="hp"></td>
                </tr>
                <tr> 
                    <td></td>
                    <td><input type="submit" name="Submit" value="Tambah"></td>
                </tr>
            </table>
        </form>

    </body>
</html>

Sintak tambah_aksi.php

<?php
    //mulai session
    session_start();

    //konek database
    include '../koneksi.php';

    // cek ketika klik submit, insert form data ke tbl_pendaftar.
    if(isset($_POST['Submit'])) 
    {
        $nama=$_POST['nama'];
        $username=$_POST['username'];
        $password=$_POST['password'];
        $email=$_POST['email'];
        $hp=$_POST['hp'];

        // Memasukan user baru ke table
        $insertdata=mysqli_query($varkoneksi,"insert into tbl_pendaftar (nama,username,password,email,hp) VALUES('$nama','$username','$password','$email','$hp')");

        // Tambahkan pesan ketika berhasil ditambahkan
        echo "User berhasil ditambah. <a href='index.php'>Data User</a>";
    }
?>

6. Membuat file edit.php dan edit_aksi.php

File edit.php digunakan sebagai form untuk mengubah data user, yang selanjutnya diupdate ke tbl_pendaftar.

Sintak edit.php

<html>
    <head>
        <title>Ubah Pengguna</title>
    </head>

    <body>
        <a href="index.php">Home</a>
        <br/><br/>

        <?php
            include '../koneksi.php';
            $id=$_GET['id'];
            $data=mysqli_query($varkoneksi,"select * from tbl_pendaftar where id='$id'");

            while($d=mysqli_fetch_array($data))
            {
        
        ?>

                <form action="edit_aksi.php" method="post" name="formedit">
                    <table width="25%" border="0">
                        <tr>
                            <td>ID Pendaftar</td>
                            <td><input type="text" name=id value="<?php echo $d['id'] ?>" readonly></td>
                        </tr>
                        <tr> 
                            <td>Nama</td>
                            <td><input type="text" name="nama" value="<?php echo $d['nama'] ?>"></td>
                        </tr>

                        <tr> 
                            <td>Username</td>
                            <td><input type="text" name="username" value="<?php echo $d['username'] ?>"></td>
                        </tr>

                        <tr> 
                            <td>Password</td>
                            <td><input type="text" name="password" value="<?php echo $d['password'] ?>"></td>
                        </tr>

                        <tr> 
                            <td>Email</td>
                            <td><input type="text" name="email" value="<?php echo $d['email'] ?>"></td>
                        </tr>
                        <tr> 
                            <td>HP</td>
                            <td><input type="text" name="hp" value="<?php echo $d['hp'] ?>"></td>
                        </tr>
                        <tr> 
                            <td></td>
                            <td><input type="submit" name="Submit" value="Edit"></td>
                        </tr>
                    </table>
                </form>
        <?php
            }
        ?>
    </body>
</html>

 

Sintak edit_aksi.php

<?php
    //konek database
    include '../koneksi.php';

    //menangkap data yang dikirim dari form dengan methode post
    $id=$_POST['id'];
    $nama=$_POST['nama'];
    $username=$_POST['username'];
    $password=$_POST['password'];
    $email=$_POST['email'];
    $hp=$_POST['hp'];


    //update data dari database
    mysqli_query($varkoneksi,"update tbl_pendaftar set nama='$nama',username='$username',password='$password',email='$email',hp='$hp' where id='$id'");
    
    //mengalihkan ke halaman daftar mapel
    header("location:index.php");
?>

7. Membuat file delete.php

File delete.php digunakan untuk menghapus data user, dari tbl_pendaftar berdasarkan id yang dipilih dari form.

<?php
    //konek database
    include '../koneksi.php';

    //menangkap data yang dikirim dari form dengan methode post
    $id=$_GET['id'];

    //Delete data dari database
    mysqli_query($varkoneksi,"delete from tbl_pendaftar where id='$id'");

    //mengalihkan ke halaman daftar mapel
    header("location:index.php");
?>

Related Post

Be the first to comment

Leave a Reply

Your email address will not be published.


*


error: Ga bisa dicopy