Senin, 20 Maret 2017

Membuat CRUD Sederhana Dengan PHP Dan MySQL - Menampilkan Data Dari Database

  Tidak ada komentar

SERI CRUD - Apa kabar sobat semua, Sekarang saya akan membahas teknik CRUD dalam PHP. Apa pentingnya sih CRUD ini ? CRUD sangatlah penting dan wajib dikuasi oleh programmer. CRUD berfungsi untuk menampilkan, mengedit, menambah dan meghapus data pada database. Semua aplikasi dan website dinamis pasti memiliki fitur untuk memanipulasi data. Hanya dengan menguasai CRUD ini kita dapat membuat sebuah aplikasi sederhana.

Saya harapkan sobat semua sudah menguasai dasar - dasar dari PHP seperti mengenal sintaks, tipe data, variabel, percabangan, perulangan, fungsi, penganganan, form, session, hingga koneksi ke database. Selanjutnya kita bisa membuat sebuah aplikasi CRUD sederhana. Jika sobat belum menguasai dasar - dasar dari PHP silahkan sobat mempelajarinya terlebih dahulu agar tidak tersesat di jalan :v . Dasar - dasar PHP dapat dipelajari di blog Script Kiddies pada kategori PHP

PENGERTIAN CRUD
Sebelum membahas cara membuat aplikasi CRUD sederhana ada baiknya kita mengenal terlebih dahulu pengertian dari CRUD karena mungkin banyak dari sobat semua yang masih bingung apasih CRUD ini ?

CRUD adalah singkatan dari  Create, Read, Update, Delete . Jadi singkat cerita CRUD adalah teknik dalam bahasa pemrograman yang berfungsi untuk memanipulasi atau mengelola database. Pertama kita mengenal istilah Create ( Membuat ) maksudnya kita dapat membuat / menambah data ke database, Read ( Membaca ) maksudnya kita dapat menampilkan atau membaca data yang ada di database, Update ( Edit ) maksudnya kita dapat mengedit data - data yang ada di dalam database, Delete ( Hapus ) maksudnya kita dapat menghapus data yang ada pada database. Sedikit informasi bahwa database yang kita gunakan kali ini menggunakan MySQL.

PERSIAPAN MEMBUAT CRUD
Karena kita bermain - main dengan database maka kita harus membuat database baru. Disini saya memberikan nama database latihan yang memiliki tabel bernama siswa dan memiliki 4 kolom yaitu id, nama, alamat, kelas. Jadi kita akan memanipulasi database latihan

Strukturnya seperti ini

Jangan lupa isi databasenya
CARA MENAMPILKAN DATA DARI DATABASE
Setelah selesai membuat database. Kita harus mengkoneksikan antara PHP dengan database MySQL yang kita buat tadi. Untuk penjelasan lebih lengkapnya tentang cara menghubungkan database MySQL sudah saya bahas pada tutorial sebelumnya Membuat Koneksi PHP Dengan Database MySQL . Saya memberikan nama file koneksi tersebut dengan nama koneksi.php . Isi dari koneksi tersebut adalah seperti ini

koneksi.php
<?php 
$host = "localhost";
$user = "root";
$pass = "password";
$db   = "latihan";

$koneksi = mysqli_connect($host, $user, $pass, $db);
 ?>

Parameter dari $koneksi saya simpan dalam variabel agar lebih terstruktur. Silahkan ganti parameter $user dan $pass sesuaikan dengan username dan password MySQL milik sobat.

Sekarang buat file index.php yang akan menampilkan data pada tabel siswa.

index.php
<!DOCTYPE html>
<html>
<head>
    <title>Membuat CRUD Sederhana</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<div class="title">
    <h1>Membuat CRUD Sederhana</h1>
    <h3>www.script-kiddies.org</h3>
</div>
<br>
<center> 
<?php 
if (isset($_GET['aksi'])) {
 if ($_GET['aksi'] == "tambah") {
  echo "<h2>Data Berhasil Ditambah</h2>";
 }elseif ($_GET['aksi'] == "edit") {
  echo "<h2>Data Berhasil Diedit</h2>";
 }elseif ($_GET['aksi'] == "hapus") {
  echo "<h2>Data Berhasil Dihapus</h2>";
 }
}

 ?>
<a href="tambah.php" class="btn-tambah">Tambah Data</a>
<table>
    <thead>
        <tr>
            <th>No</th>
            <th>Nama</th>
            <th>Alamat</th>
            <th>Kelas</th>
            <th>Aksi</th>
        </tr>
    </thead>
    <tbody>
    <?php 
    include"koneksi.php";
    $query = mysqli_query($koneksi,"SELECT * FROM siswa")or die(mysqli_error($koneksi));
    $no = 1;
    while ($data = mysqli_fetch_array($query)) {
    ?>
        <tr>
            <td><?php echo $no++; ?></td>
            <td><?php echo $data['nama'];?></td>
            <td><?php echo $data['alamat'];?></td>
            <td><?php echo $data['kelas']; ?></td>
            <td>
            <a href="edit.php?id=<?php echo $data[id] ?>">Edit</a> |
            <a href="hapus.php?id=<?php echo $data[id] ?>">Hapus</a>
            </td>
        </tr>
    <?php } ?>
    </tbody>
</table>
</center>

</body>
</html>

Pada script di atas saya membuat element table HTML agar data dapat ditamplkan dalam tabel. Lalu perhatikan pada syntax
<?php
    include"koneksi.php";
    $query = mysqli_query($koneksi,"SELECT * FROM siswa")or die(mysqli_error($koneksi));
    $no = 1;
    while ($data = mysqli_fetch_array($query)) {
    ?>
        <tr>
            <td><?php echo $no++; ?></td>
            <td><?php echo $data['nama'];?></td>
            <td><?php echo $data['alamat'];?></td>
            <td><?php echo $data['kelas']; ?></td>
            <td>
            <a href="edit.php?id=<?php echo $data[id] ?>">Edit</a> |
            <a href="hapus.php?id=<?php echo $data[id] ?>">Hapus</a>
            </td>
        </tr>
    <?php } ?>
Hiraukan terlebih dahulu syntax if (isset($_GET['aksi'])) { Akan saya jelaskan pada tutorial berikutnya

Pertama kita menghubungkan file index.php dengan koneksi.php menggunakan fungsi include. Mengapa kita menghubungkan file index.php dengan koneksi.php ? karena untuk menampilkan data pada database kita membutuhkan koneksi ke database. Pada file koneksi.php terdapat perintah untuk menghubungkan koneksi PHP dengan MySQL. Jika kita membuat koneksi 1 per 1 pada setiap file pasti akan terasa lama. Oleh karna itu saya sisipkan file koneksi.php dengan fungsi include
include"koneksi.php";
Lalu terdapat $query yang berisi fungsi mysqli_query. mysqli_query berfungsi untuk menjalanlan query SQL pada PHP. Pertama kita mengambil variabel koneksi terlebih dahulu lalu kita memasukkan query SQL untuk menampilkan data yaitu dengan SELECT * FROM siswa. Maksudnya kita akan menampilkan semua data yang berada pada tabel siswa. Lalu or die mysqli_error berfungsi untuk menampilkan error ketika query gagal dijalankan.
$query = mysqli_query($koneksi,"SELECT * FROM siswa")or die(mysqli_error($koneksi));
Setelah membuat query untuk menampilkan data. Sekarang bagaimana cara agar data tersebut dapat ditampilkan pada browser ? . Kita dapat menggunakan perulangan while php
while ($data = mysqli_fetch_array($query)) {
    ?>
        <tr>
            <td><?php echo $no++; ?></td>
            <td><?php echo $data['nama'];?></td>
            <td><?php echo $data['alamat'];?></td>
            <td><?php echo $data['kelas']; ?></td>
            <td>
            <a href="edit.php?id=<?php echo $data[id] ?>">Edit</a> |
            <a href="hapus.php?id=<?php echo $data[id] ?>">Hapus</a>
            </td>
        </tr>
    <?php } ?>
Pada fungsi while kita memecahkan data menjadi array dan memasukkannya ke dalam variabel data.agar data bisa kita tampilkan dalam bentuk perulagan.
$data = mysqli_fetch_array($query)

Lalu kita menampilkan datanya menggunakan array
<td><?php echo $data['nama'];?></td>
<td><?php echo $data['alamat'];?></td>
<td><?php echo $data['kelas']; ?></td>
Lalu ada lagi $no++ . Maksudnya dia akan mencetak angka sesuai record yang ada. $no memiliki nilai 1 dan saya berikan plus plus dibelakangnya agar nomor 1 tersebut dapat bertambah sampai perulangan selesai.

Terakhir perhatikan pada link edit dan hapus berikut. ini untuk membuat link edit data dan hapus data. data di edit atau di hapus dengan menggunakan pengiriman data melalui url($_GET). Arti dari $_GET ini sudah saya jelaskan pada tutorial sebelumnya Penanganan Form Pada PHP
<a href="edit.php?id=<?php echo $data[id] ?>">Edit</a> |
<a href="hapus.php?id=<?php echo $data[id] ?>">Hapus</a>
Lalu agar lebih cantik tambahkan juga file style.css yang berisikan syntax berikut

body{
    margin: 0;
}
.title{
    background: #3498db;
    color: white;
    padding: 10px;
    text-align: center;
}
.btn-tambah{
    background: #0594f5;
    color: white;
    padding: 10px 16px;
    text-decoration: none;
}
.btn-tambah:hover{
    background: #69a4cc;
}
table{
    width: 70%;
    border-collapse: collapse;
    margin-top: 20px;
}
table tr th,
table tr td{
    border: 1px solid #3f3f3f;
    padding: 10px 24px;
    text-align: center;
}
table tr th{
    background: #3498db;
    color: white;
}
table tr:hover{
    background: whitesmoke;
}
Setelah kita memahami alur dari menampilkan data ini sekarang kita coba buka folder kerja kita dengan menggunakan localhost


KESIMPULAN
Jadi untuk menampilkan data dari database kita dapat mengegunakan fungsi mysqli_query dan mengisikan query untuk menampilkan data. Setelah itu kita berikan sentuhan perulangan agar data tersebut dapat mengulang alias dapat tampil semua, Jangan lupakan fungsi mysqli_fetch_array yang berfungsi untuk merubah data menjadi array agar dapat ditampilkan dengan perulangan

Tidak ada komentar :

Posting Komentar