Cara Praktis Membuat Paging Halaman Dengan Php

Cara Membuat Paging Halaman Dengan Php

pernah membuat aplikasi dengan php dan mysql atau membuat sistem informasi jika pernah, pasti ada membuat tampilan data dari database, maksudnya membuat halaman yang menampilkan data dari database, ketika kita tampilkan datanya biasanya kita membuat dalam bentuk tabel yang manjang ke bawah, panjangnya bisa tergantung data yang ada di database, jika data yang ada didalam database 100 data pasti tabelnya akan panjang menuhi halaman kebawah.

nah permasalahannya gimana caranya supaya data yang kita tampilkan tersebut tabelnya tidak panjang ke bawah, gimana cara memilah-milah datanya, gimana caranya membagi halamannya, misalnya di halaman 1 cuma tampil datanya sebanyak sepuluh data, terus data yang masuk ke halaman dua, dan banyak halamannya akan terbuat otomatis sesuai dengan banyaknya data yang ada di dalam database mysql.

contoh misalnya datanya 100, kita tampilkan datanya perhalaman hanya 10 data, maka akan ada sepuluh halaman untuk menampilkan data yang 100 ini.

gimana cara membuatnya? simak dibawah ini.

tutorial php kali ini kita akan bahas tentang membuat paging halaman di php, paging halaman ini biasa digunakan di halaman laporan atau dihalaman yang menampilkan banyak data, paging halaman ini untuk mempermudahkan kita menuju halaman lain, misalnya dari halaman 1 ke halaman 2, dari halaman 1 ke halaman 10 dan seterusnya.

Cara Membuat Paging Halaman dengan Php dan mysql
Cara Membuat Paging Halaman dengan Php dan mysql

paging halaman ini digunakan untuk mempersingkat tampilan data misalnya kita punya 100 data siswa jika kita tampilkan satu halaman pasti akan panjang sampai ke bawah, namun jika kita membuat paging halaman maka kita bisa tampilkan hanya sepuluh data siswa perhalaman, dan data siswa yang lainnya di tampilkan di halaman ke dua dan seterusnya.

saya bingung mau jelasin gimana, yang pasti paging itu untuk membagi halaman, dan juga mempersingkat tampilan data. ya begitulah kira-kira.

dari pada bingung berikut tutorial Cara Membuat Paging Halaman Laporan Data Siswa Dengan Php dan Mysql

pertama buat database dengan nama terserah anda, kalau database di contoh ini saya buat dengan nama “smabukit”

kemudian import database berikut

-- phpMyAdmin SQL Dump
-- version 3.4.10.1deb1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Dec 30, 2013 at 01:22 PM
-- Server version: 5.5.28
-- PHP Version: 5.3.10-1ubuntu3.4

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `smabukit`
--

-- --------------------------------------------------------

--
-- Table structure for table `tblsiswa`
--

CREATE TABLE IF NOT EXISTS `tblsiswa` (
  `nis` int(10) NOT NULL,
  `nama_siswa` varchar(30) NOT NULL,
  `tempat_lahir` varchar(30) NOT NULL,
  `tgl_lahir` date NOT NULL,
  `alamat` text NOT NULL,
  `kelas` varchar(10) NOT NULL,
  `semester` enum('1','2') NOT NULL,
  `jenis_kelamin` enum('Laki-laki','Perempuan') NOT NULL,
  `agama` varchar(10) NOT NULL,
  `foto` varchar(25) NOT NULL,
  PRIMARY KEY (`nis`),
  KEY `kelas` (`kelas`),
  KEY `kelas_2` (`kelas`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tblsiswa`
--

INSERT INTO `tblsiswa` (`nis`, `nama_siswa`, `tempat_lahir`, `tgl_lahir`, `alamat`, `kelas`, `semester`, `jenis_kelamin`, `agama`, `foto`) VALUES
(1192, 'Adry Tyo Bastiar', 'Hakim Tungul Naru', '1998-04-20', 'Hakim Tungul Naru', 'X - 1', '1', 'Laki-laki', 'Islam', 'foto siswa.jpg'),
(1194, 'Ahmad Dani Effendi', 'Pante Gajah', '1998-09-20', 'Pante Gajah', 'X - 1', '1', 'Laki-laki', 'Islam', 'foto siswa.jpg'),
(1198, 'Ahmad Nur Hadi', 'Kenawat', '1998-12-30', 'Kenawat', 'X - 2', '2', 'Laki-laki', 'Kristen', ''),
(1199, 'Ahmad Suhairi', 'Bale Redelong', '1999-09-27', 'Bale Redelong', 'X - 3', '1', 'Laki-laki', 'Islam', ''),
(1201, 'Aji Dekia Septi Budiana', 'Bener Lukup', '1998-07-19', 'Bener Lukup', 'X - 1', '1', 'Laki-laki', 'Islam', ''),
(1202, 'Alfian Chandra Gama', 'Raja Guru', '1998-04-19', 'Reje Guru', 'X - 3', '1', 'Laki-laki', 'Islam', ''),
(1204, 'Aliyin Nizan Putri', 'Tingkem', '1998-04-25', 'Tingkem', 'X - 2', '1', 'Perempuan', 'Islam', ''),
(1205, 'Amanda Nur Maulida', 'Rembele', '1998-12-12', 'Rembele', 'X - 3', '1', 'Perempuan', 'Islam', ''),
(1206, 'Amarta Apri Lianto', 'Delong', '1998-10-21', 'Delong', 'X - 3', '1', 'Laki-laki', 'Islam', ''),
(1207, 'Anandya Faris Utomo', 'Karang Rejo', '1999-06-30', 'Karang Rejo', 'X - 3', '1', 'Laki-laki', 'Islam', ''),
(1208, 'Andi Sulistiyono', 'Bale Atu', '1998-03-12', 'Bale Atu', 'X - 3', '1', 'Laki-laki', 'Islam', ''),
(1211, 'Angga Setiawan', 'Rembele', '1998-09-07', 'Rembele', 'X - 1', '1', 'Laki-laki', 'Islam', ''),
(1214, 'Anis Tri Lusiyani', 'Takengon', '1998-05-25', 'Simpang Tiga', 'X - 2', '1', 'Perempuan', 'Islam', ''),
(1219, 'Atia Al Kamila', 'Simpang Teritit', '1999-04-12', 'Pasar Simpang Tiga', 'X - 1', '1', 'Perempuan', 'Islam', ''),
(1220, 'Ayu Cahyaningrum A', 'Aceh Tengah', '1998-03-01', 'Pasar Simpang Tiga', 'X - 2', '1', 'Perempuan', 'Islam', ''),
(1221, 'Ayub Febrila Andhika', 'Hakim Tungul Naru', '1998-03-17', 'Hakim Tungul Naru', 'X - 2', '1', 'Perempuan', 'Islam', ''),
(1223, 'Beny Azhar Helmy', 'Pante Raya', '0000-00-00', 'Pante Raya', 'X - 2', '1', 'Laki-laki', 'Islam', ''),
(1224, 'Carissa Komalasari', 'Kenawat', '1998-10-18', 'Kenawat', 'X - 1', '1', 'Perempuan', 'Islam', ''),
(1225, 'Chepy Anggraini', 'Blang Sentang', '1999-05-18', 'Blang Sentang', 'X - 1', '1', 'Perempuan', 'Islam', ''),
(1227, 'Dahlia Faizatul Aina', 'Pondok Sayur', '1998-09-20', 'Pondok Sayur', 'X - 2', '1', 'Perempuan', 'Islam', ''),
(1229, 'Danil Azhar Arrofiqi', 'Takengon', '1998-01-12', 'Bale Simpang', 'X - 2', '1', 'Laki-laki', 'Islam', ''),
(1231, 'Dedi Kurniawan', 'Bathin Baru', '1998-05-23', 'Bathin Baru', 'X - 2', '1', 'Laki-laki', 'Islam', ''),
(1233, 'Desi Rosita', 'Pondok Sayur', '1998-11-11', 'Pondok Sayur', 'X - 1', '1', 'Perempuan', 'Islam', ''),
(1235, 'Devira Lelyana Putri', 'Tingkem', '1998-08-09', 'Tingkem', 'X - 1', '1', 'Perempuan', 'Islam', ''),
(1246, 'Diya Septigustina', 'Blang Sentang', '1998-06-13', 'Blang Sentang', 'X - 3', '1', 'Perempuan', 'Islam', ''),
(1256, 'Erwin Budiyanto', 'Bale Redelong', '1998-11-10', 'Bale Redelong', 'X - 1', '1', 'Laki-laki', 'Islam', ''),
(1263, 'Firman Adi Prasetyo', 'Karang Ampar', '1998-09-13', 'Karang Ampar', 'X - 1', '1', 'Laki-laki', 'Islam', ''),
(4412, 'Juraini', 'Delung Tue', '1997-03-16', 'Delung Tue', 'XI IPA 1', '1', 'Perempuan', 'Islam', ''),
(4427, 'Miya Arimbi', 'Panji Mulya Satu', '1997-05-25', 'Panji Mulya Satu', 'XII IPA 2', '1', 'Perempuan', 'Islam', ''),
(4445, 'Rasidah', 'Bale Redelong', '1997-10-17', 'Bale Redelong', 'XI IPA 2', '1', 'Perempuan', 'Islam', ''),
(4462, 'Armaida', 'Reje Guru', '1996-10-15', 'Reje Guru', 'XI IPS 3', '1', 'Perempuan', 'Islam', ''),
(4468, 'Desi Ayu Ningsih', 'Takengon', '1996-12-17', 'Blang Sentang', 'XI IPA 1', '1', 'Perempuan', 'Islam', ''),
(4472, 'Dwi Frastito', 'Tingkem', '1997-09-20', 'Tingkem', 'XII IPA 1', '1', 'Laki-laki', 'Islam', ''),
(4475, 'Elisa Hairani', 'Bale Redelong', '1997-02-09', 'Bale Redelong', 'XI IPA 1', '1', 'Perempuan', 'Islam', ''),
(4476, 'Eliza Fatmi', 'Takengon', '1998-06-01', 'Serule Kayu', 'XI IPA 1', '1', 'Perempuan', 'Islam', ''),
(4478, 'Evita Zahara', 'Delung Tue', '1997-01-01', 'Delung Asli', 'XII IPA 1', '1', 'Perempuan', 'Islam', ''),
(4481, 'Fina Zarkasih', 'Jakarta', '1997-08-17', 'Paya Gajah', 'XI IPA 1', '1', 'Perempuan', 'Islam', ''),
(4483, 'Habibulah', 'Kabanjahe', '1997-02-06', 'Babussalam', 'XI IPA 1', '1', 'Laki-laki', 'Islam', ''),
(4487, 'Halismi', 'Delung Tue', '1997-08-02', 'Delung Tua', 'XII IPA 1', '1', 'Perempuan', 'Islam', ''),
(4488, 'Hardi Taris Simehate', 'Aceh Tengah', '1997-08-10', 'Sp. Tiga', 'XI IPA 1', '1', 'Laki-laki', 'Islam', ''),
(4498, 'Ikhlas Mail', 'Karang Ampar', '1997-04-04', 'Reje Guru', 'XII IPA 1', '1', 'Laki-laki', 'Islam', ''),
(4499, 'Ilga Lusiani', 'Uring', '1997-02-01', 'Uring', 'XI IPA 1', '1', 'Perempuan', 'Islam', ''),
(4501, 'Intan Novita Sari', 'Banda Aceh', '1997-11-27', 'Batin Baru', 'XII IPA 1', '1', 'Perempuan', 'Islam', ''),
(4502, 'Intan Sari Oktaviani', 'Bale Atu', '1997-10-05', 'Bale Atu', 'XII IPA 2', '1', 'Perempuan', 'Islam', ''),
(4507, 'Jannati Musvinta', 'Blang Sentang', '1997-07-19', 'Blang Sentang', 'XI IPA 1', '1', 'Perempuan', 'Islam', ''),
(4508, 'Jelli Yandhita Safitri', 'Juli', '1997-07-01', 'Karang Rejo', 'XI IPA 1', '1', 'Perempuan', 'Islam', ''),
(4509, 'Johan syahputra', 'Bekasi', '1996-11-21', 'Hakim Tungul Naru', 'XII IPA 1', '1', 'Laki-laki', 'Islam', ''),
(4514, 'Lia Rahmawati Azmi', 'Lampung Selatan', '1997-01-10', 'Delung Asli', 'XII IPA 1', '1', 'Perempuan', 'Islam', ''),
(4516, 'Lismawati', 'Bale Musara', '1997-07-16', 'Blang Sentang', 'XII IPA 1', '1', 'Perempuan', 'Islam', ''),
(4521, 'Mahdina Simah Bengi', 'Simpang Teritit', '1997-11-14', 'Rembele', 'XI IPA 2', '1', 'Perempuan', 'Islam', ''),
(4524, 'Maulida Rizki Anugerah', 'Bathin Baru', '1997-12-12', 'Paya Gajah', 'XII IPA 2', '1', 'Perempuan', 'Islam', ''),
(4535, 'Nurhaini', 'Rembele', '1997-05-24', 'Rembele', 'XII IPA 3', '1', 'Perempuan', 'Islam', ''),
(4539, 'Putri Linge', 'Kampung Baaru', '1997-01-01', 'kampung Baru', 'XI IPA 2', '1', 'Perempuan', 'Islam', ''),
(4540, 'Rahima', 'Hakim Tungul Naru', '1997-10-13', 'Hakim Tungul Naru', 'XII IPA 3', '1', 'Perempuan', 'Islam', ''),
(4542, 'Rahmatika Fitri', 'Rembele', '1997-11-13', 'Rembele', 'XII IPA 3', '1', 'Perempuan', 'Islam', ''),
(4545, 'Rasmah Yuni', 'Alur Gading', '1997-05-14', 'Bathin', 'XI IPA 2', '1', 'Perempuan', 'Islam', ''),
(4551, 'Rizki Kausar', 'Lampahan', '1997-04-23', 'Bale Atu', 'XII IPS 1', '1', 'Perempuan', 'Islam', ''),
(4552, 'Riskina Mewahmi', 'Bale Atu', '1997-03-19', 'Bale Atu', 'XI IPA 2', '1', 'Perempuan', 'Islam', ''),
(4554, 'Rozi Diana Putri', 'Karang Rejo ', '1997-08-19', 'Karang Rejo', 'XI IPA 2', '1', 'Laki-laki', 'Islam', ''),
(4558, 'Putra Sahara', 'Bale Atu', '1997-08-16', 'Bale Atu', 'XI IPA 2', '1', 'Laki-laki', 'Islam', ''),
(4561, 'Sahrian', 'Paya Bening', '1997-08-24', 'Paya Bening', 'XI IPA 2', '1', 'Laki-laki', 'Islam', ''),
(4577, 'Ulul Azmi', 'Aceh Tangah', '1997-10-21', 'Uning Bersah', 'XI IPS 1', '1', 'Laki-laki', 'Islam', ''),
(4578, 'Wahyuni', 'Aceh Tengah', '1997-03-21', 'Reje Guru', 'XI IPA 2', '1', 'Perempuan', 'Islam', ''),
(4583, 'Widya Kusuma', 'Sp. Teritit', '1997-02-05', 'Rembele', 'XI IPS 1', '1', 'Perempuan', 'Islam', ''),
(4587, 'Winsyah Mahara Putra', 'Aceh Tengah', '1997-10-19', 'Pasar Sp 3', 'XI IPS 3', '1', 'Laki-laki', 'Islam', ''),
(4596, 'Zulfatan', 'Aceh Tengah', '1997-12-03', 'Pasar Sp 3', 'XI IPS 2', '1', 'Laki-laki', 'Islam', ''),
(4599, 'Yeni Damayanti', 'Simpang Balek', '1997-04-13', 'Simpang Balek', 'XI IPS 1', '1', 'Perempuan', 'Islam', ''),
(4601, 'Akhyar Wijaya', 'Lhoksemawe', '1997-03-17', 'Paya Gajah', 'X - 1', '1', 'Laki-laki', 'Islam', 'foto siswa.jpg'),
(4606, 'Armi Ramadhan', 'Dedalu', '1997-01-21', 'Paya Gajah', 'XI IPS 3', '1', 'Laki-laki', 'Islam', ''),
(4609, 'Amira Okta Dhea', 'Blang Kolak 1', '1997-10-20', 'Blang Sentang', 'XI IPS 3', '1', 'Perempuan', 'Islam', ''),
(5468, 'Winny Ruhdi', 'Baloe Atu', '1997-10-16', 'Bale Atu', 'XI IPS 1', '1', 'Laki-laki', 'Islam', ''),
(7037, 'M Daud', 'Takengon', '1996-04-04', 'Babusalam', 'XII IPA 2', '1', 'Laki-laki', 'Islam', ''),
(7095, 'Yeni Patmawati', 'Pondok Sayur', '1997-12-29', 'Pondok Sayur', 'XII IPS 1', '1', 'Perempuan', 'Islam', ''),
(7509, 'Musdalifah', 'Linung Bulen', '1997-07-07', 'Tingkem B', 'XII IPS 1', '1', 'Perempuan', 'Islam', '');

--
-- Constraints for dumped tables
--

--
-- Constraints for table `tblsiswa`
--
ALTER TABLE `tblsiswa`
  ADD CONSTRAINT `tblsiswa_ibfk_1` FOREIGN KEY (`kelas`) REFERENCES `kelas` (`kelas`) ON DELETE CASCADE ON UPDATE CASCADE;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Cara Membuat Paging Halaman Dengan Php

kemudian buat sebuah file php dengan nama paging.php copy script php dibawah ini

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Halaman laporan data siswa dengan php</title>
<style type="text/css">
#navpage a 
{
	padding:3px 5px;
	background-color:#EDFFEA;
	border:1px solid #000;
	text-decoration:none;
	color:#2d2d2d;
}
#navpage a:hover
{
	background-color:#F32;
}
</style>
</head>
<body>
<div align="center">
<?php
mysql_connect("localhost","root","") or die("Gagal Konek ke server");
mysql_select_db("smabukit") or die("Gagal Konek ke database");
$tablename="tblsiswa";
$baselink=$_SERVER['PHP_SELF'];
// jumlah data perhalaman
$rowsPerPage = 12;
//nilai pertama
$pageNum = 1;
if(!empty($_GET['page']))
{
	$pageNum = $_GET['page'];
}
$offset = ($pageNum - 1) * $rowsPerPage;
// query database
$query  = "SELECT * FROM $tablename ORDER by nis asc LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed. ' . mysql_error());
?>
  <h2 class="tengah">MEMBUAT LAPORAN DATA SISWA DENGAN PAGING </h2>
  <h4 class="tengah">Created By Abd Adis, S. Inf </h4>
  <table width="600" border="0" cellpadding="3" cellspacing="1" bgcolor="#999999">
    <tr bgcolor="#F34">
      <th width="149">NIS</th>
      <th width="348">NAMA</th>
	  <th width="150">KELAS</th>
	  <th width="348">SMTR</th>
	  <th width="348">JENIS KELAMIN</th>
	  <th width="348">AGAMA</th>
    </tr>
<?php
while($row = mysql_fetch_array($result))
{ 
?>
    <tr bgcolor="#fff">
      <td align="center"><?php echo $row['nis']?></td>
      <td><?php echo $row['nama_siswa']?></td>
	  <td align="center"><?php echo $row['kelas']?></td>
	  <td align="center"><?php echo $row['semester']?></td>
	  <td><?php echo $row['jenis_kelamin']?></td>
	  <td><?php echo $row['agama']?></td>
    </tr>
<?php
} //end of while
?>
  </table>
<?php
	$query   = "SELECT COUNT(nis) AS numrows FROM $tablename";
	$result  = mysql_query($query) or die('Error, query failed. ' . mysql_error());
	$row     = mysql_fetch_array($result, MYSQL_ASSOC);
	$numrows = $row['numrows'];
	$maxPage  = ceil($numrows/$rowsPerPage);
	$nextLink = '&nbsp;';
	if($maxPage >1)
	{
		$self     = $_SERVER['PHP_SELF'];
		$nextLink = array();
		for($page = 1; $page <= $maxPage; $page++)
		{
			$nextLink[] =  "<a href=\"".$baselink."?page=$page\">$page</a>";
		}
		$nextLink = "<p>Halaman : </p>" . implode(' ', $nextLink);
	}
	echo '<div id="navpage">'.$nextLink.'</div>';
	mysql_free_result($result);
?>
</div>
</body>
</html>

kemdian jalankan di browser anda dan hasilnya akan seperti gambar diatas.

sebenarnya tutorial Cara Membuat Paging Halaman Dengan Php ini masih bisa di sempurnakan lagi, kita bisa menampilkan data taggal lahir siswa, tempat lahir siswa, namun untuk menyempurnakan nya silakan di edit-edit lagi.

sekian tutorial Cara Membuat Paging Halaman Dengan Php dan MySQL ini semoga bermanfaat, jika ada yang error bisa di tanyakan di kolom komentar. semoga bermanfaat

Get real time updates directly on you device, subscribe now.

loading...

Ingin Berkomentar?

×
Lewat ke baris perkakas