Wednesday, July 10, 2019

PHP Programming 7 - Database PHP MySQL CRUD SELECT atau READ

Assalammu'alaikum

Selamat sore, salam programming. Masuk ke pembahasan database MySQL di PHP yaitu berkaitan tentang CRUD (CREATE, READ, UPDATE, dan DELETE). Dengan php, kita bisa melakukan action terhadap database MySQL yang kita buat. Artinya kita bisa melakukan insert data, update data dan delete data yang berada di dalam database MySQL. Saya sarankan terlebih dahulu kalian perdalami pembahasan tentang database agar kalian lebih mudah memahami tentang pembahasan CRUD Database MySQL di PHP ini.

Instruksi PHP-MySQL

Di dalam PHP terdapat beberapa perintah SQL yang di perlukan untuk memanipulasi database di MySQL yaitu :
  • mysqli_connect ($servername, $username, $password, $databaseName) = melakukan koneksi PHP ke Database 
  • mysqli_close ($conn) = melakukan stop koneksi service database 
  • mysqli_connect_error () = menampilkan debug informasi error konektivitas ke database MySQL 
  • mysqli_query ($conn, $sql) = menjalankan perintah sql dari kita 
  • mysqli_error ($conn, $sql) = menampilkan debug informasi error bahasa SQL 
  • mysqli_num_rows ($result) = menangkap attribute database 
  • mysqli_fetch_assoc ($result) = menangkap isi data pada database.

Membuat Database MySQL dengan XAMPP

Tahap pertama sebelum memulai latihan ini adalah terlebih dahulu kita buat databasenya dan kita koneksikan dengan script php yang kita buat nanti. Karena disini pembahasannya tentang mysql, maka pembuatan databasenya juga harus di mysql. Untuk implementasinya, kita bisa menggunakan aplikasi XAMPP yang sudah disediakan fitur MySQLnya. Jadi langsung saja, dibuka aplikasi XAMPPnya lalu jalankan service MySQL lalu klik pada tombol admin. Membuat Database MySQL dengan XAMPP


Maka kita akan langsung diarahkan ke interface phpmyadmin. Di phpmyadmin, kita langsung buat tabel baru di database test, untuk kolomnya berikan 5 kolom. Setelah itu klik kirim.  


Untuk isi kolom databasenya kita berikan id, nama, alamat, email dan no_hp. Pengisian nama kolom ini bersifat case sensitive jadi pastikan besar kecilnya huruf agar nanti di penulisan php tidak error. Untuk ID, pada kolom AI kita ceklis. Tujuannya untuk auto-increment id number (1,2,3,.. dst).  


Jika kolomnya sudah di buat, kita isikan datanya dengan beberapa data. Caranya pada tabel yang kita buat atau bisa di temukan di menu jelajah (browse bagi yang pakai mode inggris), kita klik tambahkan atau insert pada kolom bagian atas.  


Isikan datanya sesuai kolomnya, untuk id boleh tidak di isi boleh di isi (karena kita sudah menggunakan auto-icrement tadi). Abaikan kolom bagian bawah lalu klik ok.  


Lakukan isi data yang berbeda untuk sebagai sampel yang lain agar datanya terlihat banyak.  


Terkadang auto-incrementnya sering error membuat data yang kita insert lebih dari satu, kita bisa menghapus data yang lebih dan untuk data yang tidak sesuai listing numbernya, bisa kita edit pada tombol edit data yang ingin kita edit.  


Maka hasil editnya kira-kira harus seperti ini agar datanya terlisting dengan baik.  

Mengkoneksikan Database MySQL ke PHP - db.php

Tahap berikutnya adalah mengkoneksikan database MySQL kedalam script PHP. Perlu dicatat disini, terdapat 3 tahapan hubungan antara php dan MySQL yaitu koneksi awal (mysqli_connect), proses manipulasi bahasa sql (mysqli_query) dan closing koneksi database mysql (mysqli_close). Jika sebelumnya kita sudah buat databasenya, kita tinggal mengkoneksikan database ke php menggunakan perintah mysqli_connect ($servername, $username, $password, $databaseName).


Ada 4 poin yang perlu di perhatikan dalam mengkoneksikan database MySQL dengan PHP, yaitu :
  • $servername : lokasi server database mysql, karena implementasi disini kita menggunakan XAMPP maka servernamenya adalah localhost. Jika berbeda host, masukan ip si server database. 
  • $username : user akses yang di berikan untuk mengakses database yang di maksud 
  • $password : password user yang berkaitan
  • $databaseName : nama database yang ingin di koneksikan.
Umumnya penulisan script koneksi database mysql xamppnya bisa menggunakan script berikut.  

mysqli_connect("localhost"," root", "", "test");
Namun, supaya mempermudah membaca scriptnya kita bisa menggunakan variabel untuk menampung masing-masing poin yang di perlukan di script koneksi database. Berikut contohnya : 

$servername = "localhost";
$username = "root";
$password = "";
$db = "test";

//Create Connection Ke Database
$conn = mysqli_connect($servername, $username, $password, $db);
Sehingga nantinya kita bisa mengkoneksikan databasenya cukup dengan perintah variabel $conn sebagai wadah terkait script untuk mengkoneksikan database ke php. Untuk percobaan disini, kita coba cek debug apakah koneksi antara php dan database mysql yang kita buat sebelumnya berhasil atau tidak dengan menggunakan perintah mysqli_connect_error pada percabangan statement if else. Berikut contoh scriptnya phpnya. 

<?php
$servername = "localhost";
$username = "root";
$password = "";
$db = "test";

//Create Connection Ke Database
$conn = mysqli_connect($servername, $username, $password, $db);

//Check connection
if (!$conn){
    die("Connectin Failed : " . mysqli_connect_error());
}

echo "Connection Successfully";
?>
jika berhasil maka hasilnya akan seperti contoh berikut.
 

Note : perintah debug ini jika sudah sesuai terkoneksi dengan baik, kita hapus atau berikan komen saja agar perintah debug ini tidak aktif pada file db.php.

Menampilkan Data dari Database MySQL

Di latihan pertama kita akan coba menampilkan 2 data yang sudah di buat sebelumnya di mysql. Dan untuk menampilkan data ini kita membutuhkan script untuk menjalankan koneksi ke databasenya. Di PHP kita bisa menghubungkan antara file dengan file lainnya dengan menggunakan perintah include. Jadi kita akan menghubungkan antara file latihan ini dengan file db.php yang di buat sebelumnya. 

include "db.php";
Selanjutnya, untuk menampilkan semua data di semua kolom pada database data_tamu, kita bisa menampung perintah manipulasi sql kedalam variabel $sql. Lalu untuk menjalankan perintah tersebut, kita tampung lagi perintah SQL PHP kedalam variabel $result. Perintah SQL PHP untuk menjalankan perintah manipulasi bahasa SQL adalah mysqli_query($conn, $sql). Ingat untuk menjalankan PHP SQL kita membutuhkan script open koneksi ke database dari db.php. Dalam hal ini variabel yang di buat di file tersebut adalah $conn. 

$sql = "SELECT * FROM data_tamu";
$result = mysqli_query($conn, $sql);
Selanjutnya adalah perintah untuk menampilkan data (mysqli_fetch_assoc). Perintah ini sifatnya looping yaitu mengulang untuk menampilkan listing data. Begitu data sudah semua di tampilkan, looping akan berhenti. Disini saya menggunakan perintah while untuk melakukan looping perintah ini.

Perintah mysqli_fetch_assoc ini memerlukan parameter perintah mysqli_query. Dalam hal ini kita tinggal inject paramater variabel $result saja. Dan catatan disini, perintah untuk menampilkan data ini di tampung kembali pada variabel $row agar kita bisa memilah data apa yang ingin di tampilkan di dalam perulangannya. 

while ($row = mysqli_fetch_assoc($result)){
       echo "Nama : ".$row["nama"]." Alamat : ".$row["alamat"]." email : ".$row["email"]."  Handphone : ".$row["no_hp"]."<br>";
Dan terakhir disini yang perlu di perhatikan adalah statement pembanding If Else. Jika terdapat data pada SQL maka perulangan akan di jalankan, jika tidak ada data maka akan menghasilkan output "0 Result". Untuk membangkannya kita membutuhkan sesuatu untuk dibandingkan yaitu perintah SQL PHP mysqli_num_rows($result). Langsung saja berikut contoh script latihan16.1.php nya. 

<?php
    include "db.php";
 
    $sql = "SELECT * FROM data_tamu";
    $result = mysqli_query($conn, $sql);
 
    if (mysqli_num_rows($result)>0){
        while ($row = mysqli_fetch_assoc($result)){
            echo "Nama : ".$row["nama"]." Alamat : ".$row["alamat"]." email : ".$row["email"]." Handphone : ".$row["no_hp"]."<br>";

        }
    }
    else {
        echo"0 Result";

    }
 
    mysqli_close ($conn);
 
    echo "<br><center>&copy; Mahasiswa Mercu Buana Bekasi Pemrograman Web Genap 2019 </center>"
?>
Kira-kira hasilnya akan seperti contoh berikut ini.
 

Memberikan Tabel terhadap Data yang Di Tampilkan

Pada data yang ditampilkan tersebut bisa kita berikan border tabel agar listing data yang di tampilkan lebih terlihat rapih. Caranya, kita tinggal gunakan echo string kutip 2 lalu baru kita bisa memberikan script html diantara script php. Script yang perlu kita tambahkan di sini adalah script table. 

<?php
    include "db.php";
 
    $sql = "SELECT * FROM data_tamu";
    $result = mysqli_query($conn, $sql);
 
    if (mysqli_num_rows($result)>0){
        echo "<table border=1 cellpadding=5 cellspacing=0 >";
        echo "<tr><td>ID</td><td>Nama</td><td>Alamat</td><td>Email</td><td>No HP</td></tr>";
        while ($row = mysqli_fetch_assoc($result)){
            echo "<tr><td>" . $row["id"] . "</td><td>" . $row["nama"] . "</td><td>" . $row["alamat"] . "</td><td>" .
            $row["email"] . "</td><td>" .$row["no_hp"] . " <br>";
        }
        echo "</table>";
    }
    else {
        echo"0 Result";
    }
    mysqli_close ($conn);
 
    echo "<br><center>&copy; Mahasiswa Mercu Buana Bekasi Pemrograman Web Genap 2019 </center>"
?>
Kira-kira hasilnya akan seperti contoh berikut ini.
 

Memberikan Warna Belang Di Baris Tabel Yang Berbeda

Untuk menghias tabel disini saya akan memberikan warna belang di baris tabel yang berbeda. Script yang saya gunakan di sini menggunakan function yang saya letakkan di fle db.php. Dimana isi funtionnya adalah terkait pembanding apakah nilai yang bisa di bagi 2 atau tidak. Berikut script db.php nya. 

<?php
$servername = "localhost";
$username = "root";
$password = "";
$db = "test";

//Create Connection Ke Database
$conn = mysqli_connect($servername, $username, $password, $db);

function belang($b){
    if ($b %2){
        $bk = "Cyan";
    }
    else {
        $bk = "lightskyblue";
    }
    return $bk;
}

?>
Lalu di file latihannya kita berikan listing number. Jika diatas saya memberi listing numbernya menggunakan ID, maka disini kita perlu variabel yang bisa memiliki value number. Tujuannya agar number tersebut bisa di bandingkan di function yang kita buat di db.php. Warna baris kolomnya bisa kita letakan pada script <tr bgcolor = "namaFungsi($variabelNumber)">.

Variabel number tersebut kita berikan increment di akhir statement perulangan while agar number bertambah sehingga menghasilkan bilangan genap dan ganjil. Dengan begitu warna akan belang antara genap dan ganjil. Berikut script phpnya. 

<?php
    include "db.php";
 
    $sql = "SELECT * FROM data_tamu";
    $result = mysqli_query($conn, $sql);
 
    if (mysqli_num_rows($result)>0){
        $no=1;
        echo "<table border=1 cellpadding=5 cellspacing=0 >";
        echo "<tr>
        <td>No</td>
        <td>Nama</td>
        <td>Alamat</td>
        <td>Email</td>
        <td>No HP</td>
        </tr>";
    
         while ($row = mysqli_fetch_assoc($result)){
            echo "<tr bgcolor = " . belang($no) . ">
            <td>" . $no . "</td>
            <td>" . $row["nama"] . "</td>
            <td>" . $row["alamat"] . "</td>
            <td>" . $row["email"] . "</td>
            <td>" . $row["no_hp"] . "</tr>";
            $no++;
        }
        echo "</table>";
    }
    else {
        echo" 0 Result";
    }
 
    mysqli_close ($conn);
 
    echo "<br><center>&copy; Mahasiswa Mercu Buana Bekasi Pemrograman Web Genap 2019 </center>"
?>
Kira-kira hasilnya akan seperti contoh berikut ini. 
 

Demikian penjelasan mengenai Database PHP MySQL CRUD tentang cara menampilkan data yang ada pada database. Di pembahasan selajuutnya akan saya bahas terkait button delete dan update. Sekian, jika ada yang ingin di tanyakan bisa letakkan di komentar. Terima kasih, salam programming!!.

0 komentar:

Post a Comment

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment