Tutorial PHP Pemula Part 17 : Cara Membuat Pagination Dengan PHP Dan MYSQLi

Pagination mungkin sudah tidak asing lagi ditelingan kamu semua, pagination itu berfungsi untuk membagi sebuah data yang ditampilkan kedalam beberapa
Tutorial PHP Pemula Part 17 : Cara Membuat Pagination Dengan PHP Dan MYSQLi

Tutorial PHP Pemula Part 17 : Cara Membuat Pagination Dengan PHP Dan MYSQLi

Tutorial PHP Pemula Part 17  : Cara Membuat Pagination Dengan PHP Dan MYSQLi - Hello everyone selamat datang kembali diwebsite saya belajarwithib.my.id, pada seri kali ini kita akan masih mempelajari PHP Dasar, Cara Membuat Pagination Dengan PHP Dan MYSQLi.

Pagination mungkin sudah tidak asing lagi ditelingan kamu semua, pagination itu berfungsi untuk membagi sebuah data yang ditampilkan kedalam beberapa halaman. Lah kenapa dibagi? Misalnya ni kamu mempunyai 100 data dan akan ditampilkan pada 1 halaman mungkin yang akan terjadi halaman tersebut akan lambat ter-load dikarenakan ada banyak data yang harus ia tampilkan dan itu juga akan mempersulit kamu dalam menggunakan aplikasi tersebut.

Pada tutorial kali ini masih ada hubungannya dengan tutorialCRUD Dengan PHP dan MYSQLi ya teman-teman, jadi kamu baca dulu artikel tersebut dan kamu akan mengerti apa yang saya jelaskan disini Oiya disini saya juga menggunakan method GET dan tutorialnya juga sudah ada saya buat Cara PenggunaanGET Dan POST pada PHP.

Mari kita praktek!

Membuat Database

Hal yang sangat pertama kita buat adalah database yang berfungsi sebegai menampung data kita nantinya dan disini saya mengunakan database MYSQL

1.Membuat Database “belajarwithib”

Ketikan Perintah di SQL Ketika kamu membuka Localhost/phpmyadmin

  
    create database belajarwithib;
  

2.Membuat Table “pengguna di Dalam Database

Sama seperti membuat database namun kamu klik atau pilih databasenya dulu baru masukan perintah SQL dibawah

  
    create table pengguna (
	id int not null auto_increment primary key,
	nama varchar(200) not null,
	alamat varchar(255) not null,
	email varchar(200) not null,
	agama varchar(200) not null,
	pekerjaan varchar(255) not null
	);
  

3. Memasukan Data Kedalam Table “pengguna”

Setelah sudah dibuat tablenya, lalu klik saja table terus pilih “SQL” pada menu lalu masukan perintah dibawah

  
INSERT INTO `pengguna` (`id`, `nama`, `alamat`, `email`, `agama`, `pekerjaan`) VALUES (NULL, 'Sumi sakarusawa', 'medan,sumatera utara', 'sumi@gmail.com', 'islam', 'PNS'), (NULL, 'Ruka sarashina', 'Medan, Sumatera Utara', 'ruka@gmail.com', 'islam', 'Guru Private'), (NULL, 'Mizuhara Chizuru', 'Medan, Sumatera Utara', 'mizuhara@gmail.com', 'Islam', 'Youtuber'), (NULL, 'Mami Nanami', 'Medan, Sumatera Utara', 'mami@gmail.com', 'Islam', 'Blogger'), (NULL, 'Kaguya Shinomiya', 'Medan, Sumatera Utara', 'kaguya@gmail.com', 'Islam', 'Pengusaha'), (NULL, 'Sagiri Izumi', 'Medan, Sumatera Utara', 'sagiri@gmail.com', 'Islam', 'Editor'), (NULL, 'Megumin', 'Medan, Sumatera Utara', 'megumin@gmail.com', 'Islam', 'Penyanyi'), (NULL, 'Zero Two', 'Medan, Sumatera Utara', 'zero@gmail.com', 'Islam', 'Polwan'), (NULL, 'Kamado Nezuko', 'Medan, Sumatera Utara', 'nezuko@gmail.com', 'Islam', 'Polwan'), (NULL, 'Haka Nakahara', 'Medan, Sumatera Utara', 'haka@gmail.com', 'Islam', 'Arsitek');
  

Selamat kamu berhasil membuat database dan table beserta berhasil memasukan data kedalam tablenya.

Cara Menghubungkan PHP dengan Database

Sekarang buat lah file dengan nama koneksi.php lalu ketikan lah code dibawah ini :

Koneksi.php

  
<?php

$host = "localhost";
$user = "root";
$pass = "";
$db   = "belajarwithib";

$con = mysqli_connect($host,$user,$pass,$db);

if (!$con) {
    die("Koneksi gagal:".mysqli_connect_error());
}

?>
  

Penjelasan

  
$host = "localhost";
$user = "root";
$pass = "";
$db   = "belajarwithib";
  

Pada code diatas $host itu nama host/server yang kita pakai, $user itu nama user yang akan digunakan namun secara default itu root, $pass itu jika user nya menggunakan password untuk mengakses data didalamnya maka harap disini sesuai dengan passwordnya namun jika tidak menggunakan password maka kosongkan saja, $db itu adalah nama database yang ingin kita akses.

  
$con = mysqli_connect($host,$user,$pass,$db);
  

Untuk menghubungkan PHP dengan MySQLi , saya menggunakan fungsi mysqli_connect() dengan parameter alamat server, user, password, dan nama database.

Membuat Pagination Dengan PHP Dan MYSQLi

Buat file index.php atau terserah kamu saja dan kamu ketikan lah code dibawah ini didalam untuk isi file tersebut

  
<!DOCTYPE html>
<html>
<head>
	<title>Membuat Pagination Dengan PHP Dan MySQLi | www.belajarwithib.my.id</title>

	<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">

</head>
<body>
	<div class="container">
		<header>
			<h2>www.belajarwithib.my.id</h2>
			<h1>Membuat Pagination Dengan PHP Dan MySQLi</h1>
		</header>
		<br/>

		<h4>Data Pengguna</h4>
		<table class="table table-bordered">
			<tr>
				<th>No</th>
				<th>Nama</th>
				<th>Alamat</th>
				<th>Email</th>
				<th>Agama</th>
				<th>Pekerjaan</th>
				<th>Opsi</th>
			</tr>
			<?php
			include "koneksi.php";

			$batas   = 5;
			$halaman = @$_GET['halaman'];
			if(empty($halaman)){
				$posisi  = 0;
				$halaman = 1;
			}
			else{
				$posisi  = ($halaman-1) * $batas;
			}

			$no = $posisi+1;
			
			$query_mysql = mysqli_query($con,"SELECT * FROM pengguna order by id desc limit $posisi,$batas")or die(mysql_error());

			while($data = mysqli_fetch_array($query_mysql)){
				?>
				<tr>
					<td><?php echo $no++; ?></td>
					<td><?php echo $data['nama']; ?></td>
					<td><?php echo $data['alamat']; ?></td>
					<td><?php echo $data['email']; ?></td>
					<td><?php echo $data['agama']; ?></td>
					<td><?php echo $data['pekerjaan']; ?></td>
					<td>
						<a class="edit btn btn-warning btn-sm text-white" href="edit.php?id=<?php echo $data['id']; ?>">Edit</a> 
						<a class="hapus btn btn-danger btn-sm" href="hapus.php?id=<?php echo $data['id']; ?>">Hapus</a>
					</td>
				</tr>
			<?php } ?>
		</table>

		<hr>
		<?php

		$query2     = mysqli_query($con, "SELECT * FROM pengguna");
		$jmldata    = mysqli_num_rows($query2);
		$jmlhalaman = ceil($jmldata/$batas);
		?>
		<div class="text-center">
			<ul class="pagination">
				<?php
				for($i=1;$i<=$jmlhalaman;$i++) {
					if ($i != $halaman) {
						echo "<li class='page-item'><a class='page-link' href='index.php?halaman=$i'>$i</a></li>";
					} else {
						echo "<li class='page-item active'><a class='page-link' href='#'>$i</a></li>";
					}
				}
				?>
			</ul>
		</div>

	</div>
</body>
</html>

  

Penjelasan

Pertama kita harus menghubungkan file ini dengan file koneksi.php karena kita akan berhubungan dengan database cara menghubungkannya seperti code dibawah

  
include "koneksi.php";
  

Pada code dibawah ini pada $batas itu nantinya berfungsi sebagai batas data yang akan ditampilkan pada perhalaman nantinya lalu pada $halaman itu data nya kirim melalui url dan ia akan menjalan perhitungan rumus $posisi  = ($halaman-1) * $batas;

  
$batas   = 5;
	$halaman = @$_GET['halaman'];
		if(empty($halaman)){
			$posisi  = 0;
			$halaman = 1;
		}else{
			$posisi  = ($halaman-1) * $batas;
		}
  

Dan kita akan menampilkan data berdasarkan $batas dan posisi seperti code dibawah ini :

  
$query_mysql = mysqli_query($con,"SELECT * FROM pengguna order by id desc limit $posisi,$batas")or die(mysql_error());
  

Oke sekarang kita coba apakah berhasil atau tidaknya Pagination kita

Tutorial PHP Pemula Part 17 : Cara Membuat Pagination Dengan PHP Dan MYSQLi
Lihat pada URL


Tutorial PHP Pemula Part 17 : Cara Membuat Pagination Dengan PHP Dan MYSQLi


Penutupan

Sekian lah tutorial membuat pagination memang agak susah tapi kita harus paham juga hal seperti ini dan pagination juga sangat berfungsi sekali ketika kita mempunyai data yang banyak nah jika Fitur Search dan Pagination digabungi gimana tu kamu membuat logika nya? Wkwkwk mungkin tutorial selanjutnya saya akan membahas itu.

Semoga Bermanfaat!!!