#11-Laravel Paging Database Table

Pagination berguna untuk membuat penomoran halaman. misalnya kita memiliki banyak row. katakanlah ada 200 bahkan ribuan row data. saat data tersebut tampil pada website atau aplikasi yang kita buat pasti akan terlalu panjang ke bawah.

Di sinilah kita memerlukan pagination atau penomoran halaman. jadi kita bisa mengatur berapa jumlah row data yang ingin ditampilkan. dan selebihnya akan dipisah-pisah menjadi beberapa halaman.

Nanti jumlah halamannya akan otomatis di buat tergantung berapa jumlah data. dan berapa row data yang ingin ditampilkan per halaman nya.

Di sini kita akan membuat contoh dengan menampilkan data dari database. baru kemudian kita akan belajar membuat pagination dengan laravel.

Untuk tutorial menampilkan data dari database dengan Laravel sudah di jelaskan sebelumnya pada tutorial CRUD Laravel dan untuk memperbanyak data gunakan Library Fake

Buat controller UserController dan method index jika belum. Jika sudah mengikuti Tutorial sebelumnya mari kita perbarui kodenya.

learning_laravel/app/Http/controllers/UserController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class UserController extends Controller
{
    public function index(){
        $data['title']="User CRUD";
        // mengambil data dari table user
        $data['user']=DB::table('user')->paginate(10);
        // mengirim data user ke view index
        return view('user',$data);
    }
}

Untuk membuat pagination kita cukup menggunakan fungsi ->paginate(10).

Angka 10 di sini bermaksud menentukan untuk membuat pagination yang masing-masing halamannya akan menampilkan 10 row data.

Buat/perbaharui view nya. yaitu view user.blade.php.

<!DOCTYPE html>
<html>
<head>
	<title>{{$title}}</title>
</head>
    <style type="text/css">
		.pagination li{
			float: left;
			list-style-type: none;
			margin:5px;
		}
	</style>
<body>

	<h2>{{config('app.name')}}</h2>
	<h3>{{$title}}</h3>

	<a href="/user/create"> + Tambah User Baru</a>
	
	<br/>
	<br/>

	<table border="1">
		<tr>
			<th>Fullname</th>
			<th>Email</th>
			<th>Last Login</th>
			<th>Last Update</th>
			<th>Action</th>
		</tr>
		@foreach($user as $list)
		<tr>
			<td>{{ $list->fullname }}</td>
			<td>{{ $list->email }}</td>
			<td>{{ $list->last_login }}</td>
			<td>{{ $list->last_update }}</td>
			<td>
				<a href="/user/update/{{ $list->uid }}">Edit</a>
				|
				<a href="/user/delete/{{ $list->uid }}">Hapus</a>
			</td>
		</tr>
		@endforeach
	</table>
    <br/>
	Halaman : {{ $user->currentPage() }} <br/>
	Jumlah Data : {{ $user->total() }} <br/>
	Data Per Halaman : {{ $user->perPage() }} <br/>


	{{ $user->links() }}

</body>
</html>

Tampilannya akan terlihat sbb:

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>