Mengambil dan Menampilkan Data dari MySQL dengan Laravel ( 11 ) PHP v8.2.4


CRUD Sederhana dengan Laravel
Tentunya bukan hal asing bagi seorang pengembang web mendengar kata CRUD, ini merupakan sebuah pengembangan lebih lanjut dari bagaimana cara membangun sebuah halaman situs ( website ) lebih cepat.
Dokumentasi lengkap mengenai Laravel tentunya berada di halaman situs resminya yaitu di sini di sini, lengkap dari awal - akhir di jelaskan bagian per bagian.

Nah pada artikel ini mari belajar Laravel dengan cara langsung membuat projek sederhana, yaitu CRUD. 
Masih paham kan dengan CRUD ? 

Siapkan projek kita :
composer create-project laravel/laravel crud-sederhana

Projek yang kita buat bernama crud-sederhanaKetik perintah di Command Prompt ( cmd ) atau di prompt VS Code
Tampilan Command Prompt


Tampilan Prompt VS Code

Tekan [Enter], proses pembuatan projek awal akan dimulai oleh composer.



Catatan :
Kalau di komputer / laptop kalian muncul keterangan blok kuning seperti di atas, jangan risau. Itu hanya tanda bahwa koneksi internet sedang tidak stabil. Biarkan saja sampai proses selesai.

Tunggu sampai proses selesai dan akan menampilkan :

Bagian pertama dari projek CRUD ini yaitu menampilkan data yang tersimpan dalam MySQL.

Selanjutnya, kita siapkan membuat basis datanya ( database ) terlebih dahulu. Boleh kita gunakan phpMyAdmin atau antarmuka visual lainnya, disini penulis menggunakan Navicat.

Buka aplikasi Navicat :

Pada localhost_3306, klik kanan kemudian pilih menu New Database
Disini penulis membuat basis data ( database ) dengan nama blog_laravel :

Setelah klik "OK", kita telah membuat basis data baru :

Buat tabel baru dengan struktur di bawah ini :
id int ( 11 )
nama varchar ( 30 )
alamat varchar ( 50 )
tgl_lahir date

Catatan :
Untuk tipe data dan panjang data, usahakan untuk di sesuaikan agar lebih efisien dalam pengolahan data yang tersimpan dalam basis data.
Tekan tombol Save dan namai tabel baru kita dengan tb_biodata :

Sip!
Persiapan awal untuk CRUD Laravel kita sudah selesai.

Selanjutnya kita kembali lagi ke VS Code dan buka projek crud-sederhana. Atau bisa dengan kembali ke Command Prompt, langsung saja ketikkan perintah cd crud-sederhana :

Kemudian code . [ Enter ]
Maka secara otomatis kita akan masuk ke dalam projek dengan VS Code :




Ada berbagai macam folder yang tersedia dalam projek kita, disini kita akan fokus ke dalam folder :
  1. app\Http\Controllers
  2. resource\views
  3. routes\web
Dan satu file lain yaitu :
.env

Kita buka file .env, fokus pada bagian :

Hapus semua simbol #, sehingga tulisan hijau menjadi biru :

Ubah bagian tulisan :
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Dengan isi :
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=blog_laravel
DB_USERNAME=root
DB_PASSWORD=



Baris DB_CONNECTION=mysql karena kita menggunakan basis data mysql. DB_HOST=localhost tidak ada perbedaan walaupun kita menggunakan 127.0.0.1, memiliki arti sama. DB_PORT=3306 port bawaan dari mysql. DB_DATABASE=blog_laravel sesuai dengan nama basis data yang dibuat sebelumnya.

DB_USERNAME=root nama pengguna bawaan, jangan di ubah. Biarkan dulu seperti itu.
DB_PASSWORD= biarkan kosong juga.

Diatas merupakan baris yang memiliki fungsi sama dengan mysqli_connect() saat menggunakan PHP Native.
Pastikan nama DB_Connection = mysql karena kita akan menyambungkan ke server XAMPP, dimana XAMPP ini basis data bawaannya adalah mysql

Pertama buat sebuah controller. Sesuai dengan konsep yang digunakan oleh Laravel dalam pengembangannya yaitu MVC ( Model View Controller )
Lebih lanjut terkait controller ?  Baca disini

Di bagian ini, dilanjutkan membuat sebuah controller. Beri nama dengan DataController :
php artisan make:controller DataController

Perintah ini akan membuat file baru dengan nama DataCotroller di folder app\Http\Controllers


Kemudian, kita buka file web.php yang berada di folder routes\web.php
Buat route baru /tampilData :
Route::get('/tampilData', [DataController::class, 'TampilData']);

Setiap kali kita mengakses halaman Laravel di 127.0.0.1:8000, Laravel akan melakukan cek route di file web.php. Route ini ibarat sebuah pintu jalan yang akan membawa kemana tujuan akhir.

Route ini menggunakan atau memanggil DataController yang kita buat tadi serta akan menjalankan sebuah method yang bernama TampilData. But wait! Coba cek di file DataController.php


Belum ada method TampilData.

Ya memang betul! 
Inikan baru bawaan awal, kita buat method baru di antara { } dengan nama TampilData di dalam class DataController extends Controller yang akan dipanggil oleh route /tampilData di dalam file web.php

Jadi selanjutnya di dalam DataController.php menjadi :

Sekarang, mari kita coba jalankan projek kita ini dengan perintah :
php artisan serve

Buka hasilnya di web dengan memanggil 127.0.0.1:8000
Dan ternyata errooooor 


Ini terjadi karena kita lupa menjalankan migration tadi 😔
Klik tombol Run Migration dan refresh halaman, akan muncul halaman bawaan Laravel dong :


Sekarang panggil route /tampilData :

[ Enter ]

Hasilnya :
Berhasil menjalankan!

Sekarang kembali ke file DataController.php, kita sedikit ubah kodenya menjadi :

Kode diatas membuat variabel $data yang menyimpan fungsi DB::table
Kenali lebih jauh terkait DB::table
Dengan fungsi ->get() ini artinya kita menjalankan sebuah query SQL biasa SELECT * FROM nama_tabel. Lebih singkat bukan ?
DB::table('di isi dengan nama tabel dalam mysql')
Sesuai dengan nama tabel kita pas membuat dengan Navicat / phpMyAdmin sebelumnya, yaitu tb_biodata. Maka dalam penulisan DB::table('tb_biodata')

 
Bagian terakhir, kita buat file baru dengan nama tampil_data.blade.php di dalam folder resources\views :


Ingat! Tambahkan .blade sebelum menutup dengan titik php ( .php )
Buka file kemudian tambahkan kode singkat sederhana berikut :

Yups! Mari kita coba jalankan....


Okeyyy...
Data dalam MySQL berhasil kita tampilkan! 😁
Yups lanjutkan terus dan selalu perhatikan step by step langkahnya agar paham dan lebih paham :)


Terima kasih sudah mampir 👋👌

Selanjutnya : 
Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama