Sabtu, 14 Februari 2015

Belajar Framework Laravel PHP Menampilkan View Data dari Database MySQL

Kali ini kita coba Belajar Framework Laravel PHP Menampilkan View Data dari Database MySQL. Penulis merasa perlu mempelajari larvel karena kepopulerannya cukup melejit sehingga dalam 2-3 tahun mampu menjadi framework php paling banyak dipakai di tahun 2014 menurut beberapa website yang mensurvey kepopuleran framework-framework php yang ada.

Baiklah, langkah pertama tentu saja anda perlu mendownload framework laravel terlebih dahulu, jika anda belum bisa silakan melihat artikel Menginstall Framework Laravel di XAMPP Tanpa Composer dan Artisan ini. Atau
anda bisa download file web laravel yang penulis buat, dalam hal ini penulis menamai direktori webnya dengan nama laravel, sehingga setelah anda letakkan di direktori xampp/htdocs atau wamp/www, anda dapat akses dengan url http://127.0.0.1/laravel/public




Kemudian kita buat dahulu database di mysql, misalnya kita namakan dblaravel, silakan anda buka melalui http://127.0.0.1/phpmyadmin, di dalamnya kita buat tabel siswa dengan field-field atau kolom sebagai berikut :


 CREATE TABLE IF NOT EXISTS `siswa` (
  `nis` varchar(50) NOT NULL,
  `nama` varchar(200) DEFAULT NULL,
  `alamat` text,
  `tgllahir` date DEFAULT NULL,
  `nilai` double DEFAULT NULL,
  `foto` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`nis`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `siswa`
--

INSERT INTO `siswa` (`nis`, `nama`, `alamat`, `tgllahir`, `nilai`, `foto`) VALUES
('221', 'Adhiiii', 'ZZZ', '2014-12-13', 77, 'ic_launcher-web.png'),
('510290', 'Dewi', 'Solo', '1992-09-11', 80, 'ic_launcher-web.png'),
('219045', 'Tiara', 'Semarang', '1991-03-23', 85, 'ic_launcher-web.png'),
('333', 'eee', 'Yyyy', '2014-12-13', 22, 'ic_launcher-web.png'),
('55', 'sss', 'Ddd', '2014-12-13', 66, 'ic_launcher-web.png');

Berikutnya kita setting dahulu agar laravel mampu terkoneksi ke database dblaravel tersebut dengan cara mengedit file laravel/app/config/database.php, silakan dicari dan ganti bagian berikut ini dengan setting database anda, user dan passwordnya :

'default' => 'mysql', /* |-------------------------------------------------------------------------- | Database Connections |-------------------------------------------------------------------------- | | Here are each of the database connections setup for your application. | Of course, examples of configuring each database platform that is | supported by Laravel is shown below to make development simple. | | | All database work in Laravel is done through the PHP PDO facilities | so make sure you have the driver for your particular database of | choice installed on your machine before you begin development. | */ 'connections' => array( 'sqlite' => array( 'driver' => 'sqlite', 'database' => __DIR__.'/../database/production.sqlite', 'prefix' => '', ), 'mysql' => array( 'driver' => 'mysql', 'host' => '127.0.0.1', 'database' => 'dblaravel', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ),

Selanjutnya kita buat dahulu file model Siswa.php di laravel/app/models/Siswa.php seperti ini :

<?php class Siswa extends Eloquent { protected $table = 'siswa'; // jika dikosongkan tabelnya harus Siswas (pke s) protected $primaryKey = 'nis'; // jika tdkpake maka primary key harus dgn nama id public $timestamps = false; // biar gk selalu mengupdate kolom created_at update_at } ?>

Kemudian kita buat file template view dengan nama  di laravel/app/views/...

<!DOCTYPE html> <html lang='en'> <head> <meta charset='utf-8' /> <title>CRUD App</title> <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1' /> {{ HTML::style('css/bootstrap.min.css') }} </head> <body> @yield('content') {{ HTML::script('js/jquery.min.js') }} {{ HTML::script('js/bootstrap.js') }} </body> </html>

Setelah itu kita buat lagi file view untuk menampilkan data siswa dengan nama  di laravel/app/views/  dengan isi sebagai berikut :

@extends('layout') @section('content') <section class="container"> <table class="table"> <tr> <th>Nis</th> <th>Nama</th> <th>Alamat</th> <th>Tgl Lahir</th> <th>Nilai</th> <th>Foto</th> <th>{{ HTML::link('/newsiswa', 'New')}}</th> </tr> <?php //print_r($siswadata); ?> @foreach($siswadata as $siswa) <tr> <td>{{ $siswa->nis }}</td> <td>{{ $siswa->nama }}</td> <td>{{ $siswa->alamat }}</td> <td>{{ $siswa->tgllahir }}</td> <td>{{ $siswa->nilai }}</td> <td>{{ HTML::image('images/'.$siswa->foto, 'Foto', array( 'width' => 70, 'height' => 70 )) }}</td> <td> {{ HTML::linkAction('SiswaController@edit', 'edit', array($siswa->nis))}} | {{ HTML::linkAction('SiswaController@delete', 'delete', array($siswa->nis))}} </td> </tr> @endforeach </table> </section> @stop

Langkah terakhir adalah mengarahkan routing dengan cara mengedit file laravel/app/routes.php, tambahkan baris berikut ini :

Route::get('/siswalist', function(){ // utk mengetes koneksi database jalan apa tdk /*if(DB::connection()->getDatabaseName()) { echo "conncted sucessfully to database ".DB::connection()->getDatabaseName(); } */ $siswa = Siswa::all(); return View::make('listsiswa')->with('siswadata', $siswa); });

Hasilnya dapat anda lihat dari web browser dengan url http://127.0.01/laravel/public/siswalist



Project direktori contoh web laravel selengkapnya yang penulis buat dapat anda download disini.

Semoga berhasil :)

Tidak ada komentar:

Posting Komentar