Artikel

Membuat CRUD Native PHP

Database

Silahkan untuk membuat database: db_sekolah dan table: tbl_siswa

1. Config

Buatlah file config.php

Keterangan:
Coding di bawah adalah contoh koneksi ke database menggunakan mysqli_connect. Pertama, dideklarasikan variabel-variabel yang digunakan untuk menyimpan informasi koneksi ke database seperti host, nama database, username, dan password. Kemudian, digunakan perintah mysqli_connect untuk melakukan koneksi ke database dengan menggunakan variabel-variabel yang telah dideklarasikan sebelumnya. Variabel $mysqli digunakan untuk menyimpan hasil dari koneksi yang dibuka, sehingga dapat digunakan untuk melakukan operasi-operasi lain seperti query ke database.

<?php
/**
 * using mysqli_connect for database connection
 */
 
$databaseHost = 'localhost';
$databaseName = 'db_sekolah';
$databaseUsername = 'root';
$databasePassword = '';
 
$mysqli = mysqli_connect($databaseHost, $databaseUsername, $databasePassword, $databaseName); 
 
?>

2. Index

Buatlah file index.php

Keterangan:
Contoh penampilan data dari tabel siswa yang ada di database. Pertama, meng-include file config.php yang berisi koneksi ke database. Kemudian, mengeksekusi perintah SQL untuk mengambil semua data dari tabel siswa dan menyimpannya dalam variabel $result.

Setelah itu, ditampilkan data dari tabel siswa dalam bentuk tabel dengan menggunakan perulangan while. Dalam setiap perulangan, data siswa ditampilkan dalam bentuk baris tabel yang terdiri dari nama siswa, NIS, jenis kelamin, dan opsi untuk edit atau delete data siswa. Pada setiap opsi edit atau delete, diarahkan ke halaman yang sesuai dengan id siswa yang dipilih.

<?php
// Create database connection using config file
include_once("config.php");
 
// Fetch all users data from database
$result = mysqli_query($mysqli, "SELECT * FROM tbl_siswa ORDER BY id_siswa DESC");
?>
 
<html>
<head>    
    <title>Homepage</title>
</head>
 
<body>
<a href="add.php">Add New Siswa</a><br/><br/>
 
    <table width='80%' border=1>
 
    <tr>
        <th>Nama</th> <th>Nis</th> <th>Jenis Kelamin</th> <th>Update</th>
    </tr>
    <?php  
    while($siswa_data = mysqli_fetch_array($result)) {         
        echo "<tr>";
        echo "<td>".$siswa_data['nama_siswa']."</td>";
        echo "<td>".$siswa_data['nis']."</td>";
        echo "<td>".$siswa_data['jenis_kelamin']."</td>";    
        echo "<td><a href='edit.php?id_siswa=$siswa_data[id_siswa]'>Edit</a> | <a href='delete.php?id_siswa=$siswa_data[id_siswa]'>Delete</a></td></tr>";        
    }
    ?>
    </table>
</body>
</html>

3. Add

Buatlah file add.php

Keterangan:
Form untuk menambah data siswa ke dalam tabel siswa di database. Pertama, ditampilkan form yang terdiri dari input untuk nama, NIS, dan jenis kelamin siswa. Kemudian, saat form dikirim (submit), data yang diinputkan akan divalidasi dan dimasukkan ke dalam tabel siswa di database.

Pertama, pada bagian form, digunakan metode POST untuk mengirim data yang diinputkan ke halaman add.php. Kemudian, saat tombol submit diklik, akan mengeksekusi perintah yang ada pada bagian if(isset($_POST[‘Submit’])) yang berisi proses validasi dan insert data ke dalam tabel siswa. Pertama, mengambil data dari form yang dikirim dan menyimpannya dalam variabel. Kemudian, meng-include file config.php yang berisi koneksi ke database. Setelah itu, data yang telah diambil dari form diinsert ke dalam tabel siswa dengan mengeksekusi perintah SQL.

Jika insert berhasil, akan ditampilkan pesan “Siswa added successfully. View Siswa” dan link untuk melihat data siswa yang telah ditambahkan.

<html>
<head>
    <title>Add Siswa</title>
</head>
 
<body>
    <a href="index.php">Go to Home</a>
    <br/><br/>
 
    <form action="add.php" method="post" name="form1">
        <table width="25%" border="0">
            <tr> 
                <td>Nama</td>
                <td><input type="text" name="nama_siswa"></td>
            </tr>
            <tr> 
                <td>NIS</td>
                <td><input type="text" name="nis"></td>
            </tr>
            <tr> 
                <td>Jenis Kelamin</td>
                <td><input type="text" name="jenis_kelamin"></td>
            </tr>
            <tr> 
                <td></td>
                <td><input type="submit" name="Submit" value="Add"></td>
            </tr>
        </table>
    </form>
    
    <?php
 
    // Check If form submitted, insert form data into Siswa table.
    if(isset($_POST['Submit'])) {
        $nama_siswa = $_POST['nama_siswa'];
        $nis = $_POST['nis'];
        $jenis_kelamin = $_POST['jenis_kelamin'];
        
        // include database connection file
        include_once("config.php");
                
        // Insert user data into table
        $result = mysqli_query($mysqli, "INSERT INTO tbl_siswa(nama_siswa,nis,jenis_kelamin) VALUES('$nama_siswa','$nis','$jenis_kelamin')");
        
        // Show message when user added
        echo "Siswa added successfully. <a href='index.php'>View Siswa</a>";
    }
    ?>
</body>
</html>

4. Edit

Buatlah file edit.php

Keterangan:
Halaman untuk mengedit data siswa yang ada di dalam tabel siswa di database. Pertama, meng-include file config.php yang berisi koneksi ke database. Kemudian, jika form yang digunakan untuk mengedit data siswa di-submit (update), maka akan mengeksekusi perintah untuk mengupdate data siswa di dalam tabel siswa berdasarkan id siswa yang dipilih.

Kemudian, menampilkan data siswa yang akan diedit berdasarkan id siswa yang dipilih dari url. Data siswa diambil dengan mengeksekusi perintah SQL untuk mengambil data siswa berdasarkan id siswa yang dipilih, lalu disimpan dalam variabel.

Setelah itu, ditampilkan form yang digunakan untuk mengedit data siswa yang telah diambil sebelumnya. Form ini terdiri dari input untuk nama, NIS, dan jenis kelamin siswa yang telah di-prefill dengan data siswa yang akan diedit. Saat tombol update diklik, form akan di-submit dan mengeksekusi perintah untuk mengupdate data siswa di dalam tabel siswa di database. Setelah update selesai, akan di-redirect ke halaman index.php untuk menampilkan data siswa yang telah diupdate.

<?php
// include database connection file
include_once("config.php");
 
// Check if form is submitted for user update, then redirect to homepage after update
if(isset($_POST['update']))
{	
    $id_siswa = $_POST['id_siswa'];
    
    $nama_siswa=$_POST['nama_siswa'];
    $nis=$_POST['nis'];
    $jenis_kelamin=$_POST['jenis_kelamin'];
        
    // update user data
    $result = mysqli_query($mysqli, "UPDATE tbl_siswa SET nama_siswa='$nama_siswa',nis='$nis',jenis_kelamin='$jenis_kelamin' WHERE id_siswa=$id_siswa");
    
    // Redirect to homepage to display updated user in list
    header("Location: index.php");
}
?>
<?php
// Display selected user data based on id
// Getting id from url
$id_siswa = $_GET['id_siswa'];
 
// Fetech user data based on id
$result = mysqli_query($mysqli, "SELECT * FROM tbl_siswa WHERE id_siswa=$id_siswa");
 
while($siswa_data = mysqli_fetch_array($result))
{
    $nama_siswa = $siswa_data['nama_siswa'];
    $nis = $siswa_data['nis'];
    $jenis_kelamin = $siswa_data['jenis_kelamin'];
}
?>
<html>
<head>	
    <title>Edit User Data</title>
</head>
 
<body>
    <a href="index.php">Home</a>
    <br/><br/>
    
    <form name="update_user" method="post" action="edit.php">
        <table border="0">
            <tr> 
                <td>Nama</td>
                <td><input type="text" name="nama_siswa" value=<?php echo $nama_siswa;?>></td>
            </tr>
            <tr> 
                <td>NIS</td>
                <td><input type="text" name="nis" value=<?php echo $nis;?>></td>
            </tr>
            <tr> 
                <td>Jenis Kelamin</td>
                <td><input type="text" name="jenis_kelamin" value=<?php echo $jenis_kelamin;?>></td>
            </tr>
            <tr>
                <td><input type="hidden" name="id_siswa" value=<?php echo $_GET['id_siswa'];?>></td>
                <td><input type="submit" name="update" value="Update"></td>
            </tr>
        </table>
    </form>
</body>
</html>

5. Delete

Buatlah file delete.php

Keterangan:
Contoh perintah untuk menghapus data siswa dari tabel siswa di database. Pertama, meng-include file config.php yang berisi koneksi ke database. Kemudian, mengambil id siswa dari URL untuk menentukan siswa yang akan dihapus.

Setelah itu, mengeksekusi perintah SQL untuk menghapus data siswa dari tabel siswa di database berdasarkan id siswa yang dipilih. Setelah data siswa dihapus, akan di-redirect ke halaman index.php untuk menampilkan data siswa yang telah dihapus dan data siswa yang masih ada.

<?php
// include database connection file
include_once("config.php");
 
// Get id from URL to delete that user
$id_siswa = $_GET['id_siswa'];
 
// Delete user row from table based on given id
$result = mysqli_query($mysqli, "DELETE FROM tbl_siswa WHERE id_siswa=$id_siswa");
 
// After delete redirect to Home, so that latest user list will be displayed.
header("Location:index.php");
?>

Download: PHPCRUDNative

Leave a Comment

Your email address will not be published. Required fields are marked *