pagination
Berikut adalah script dan penjelasan bagaimana membuat halaman untuk menampilkan data dari mysql dengan PHP.

Lihat hasilnya : http://appweb.co.cc/datakaryawan.php

<!-- Ini CSS untuk halaman-->
<style type="text/css">
 
div.pagination {
	padding: 3px;
	margin: 3px;
}
 
div.pagination a {
	padding: 2px 5px 2px 5px;
	margin: 2px;
	border: 1px solid #AAAADD;
 
	text-decoration: none; /* no underline */
	color: #000099;
}
div.pagination a:hover, div.pagination a:active {
	border: 1px solid #000099;
 
	color: #000;
}
div.pagination span.current {
	padding: 2px 5px 2px 5px;
	margin: 2px;
		border: 1px solid #000099;
 
		font-weight: bold;
		background-color: #000099;
		color: #FFF;
	}
	div.pagination span.disabled {
		padding: 2px 5px 2px 5px;
		margin: 2px;
		border: 1px solid #EEE;
 
		color: #DDD;
	}
 
</style>
 
<?php
	/*
		Koneksi database.
	*/
	mysql_connect("localhost","root","passwordnya") or
         die("Tidak bisa konek: " . mysql_error());
   	mysql_select_db("nama_database") or //pilih database
	     die("Database tidak ditemukan: " . mysql_error());	// 
 
	$tbl_name="nama_tabel";		//nama tabelnya
	// Halaman yang akan ditampilkan untuk pertengahan?
	$adjacents = 3;
 
	$query = "SELECT COUNT(*) as num FROM $tbl_name";
	$total_pages = mysql_fetch_array(mysql_query($query));
	$total_pages = $total_pages[num];
 
	/* variabel query. */
	$targetpage = "datakaryawan.php"; 	//nama file  (nama file ini)
	$limit = 5; 								//berapa yang akan ditampilkan setiap halaman
	$page = $_GET['page'];
	if($page) 
		$start = ($page - 1) * $limit; 			
	else
		$start = 0;								//halaman awal
 
 
	$sql = "SELECT * FROM $tbl_name LIMIT $start, $limit";
	$result = mysql_query($sql);
 
 
	if ($page == 0) $page = 1;					//jika variabel kosong maka defaultnya halaman pertama.
	$prev = $page - 1;		//halaman sebelumnya
	$next = $page + 1;		//halaman berikutnya
	$lastpage = ceil($total_pages/$limit);		
	$lpm1 = $lastpage - 1;						
 
 
	$pagination = "";
	if($lastpage > 1)
	{	
		$pagination .= "<div class=\"pagination\">";
		//Link halaman sebelumnya
		if ($page > 1) 
			$pagination.= "<a href=\"$targetpage?page=$prev\">« Sebelumnya</a>";
		else
			$pagination.= "<span class=\"disabled\">« Sebelumnya</span>";	
 
		//halaman
		if ($lastpage < 7 + ($adjacents * 2))	
		{	
			for ($counter = 1; $counter <= $lastpage; $counter++)
			{
				if ($counter == $page)
					$pagination.= "<span class=\"current\">$counter</span>";
				else
					$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
			}
		}
		elseif($lastpage > 5 + ($adjacents * 2))	//enough pages to hide some
		{
 
			if($page < 1 + ($adjacents * 2))		
			{
				for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
				}
				$pagination.= "...";
				$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
				$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";		
			}
 
			elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
			{
				$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
				$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
				$pagination.= "...";
				for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
				}
				$pagination.= "...";
				$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1</a>";
				$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage</a>";		
			}
 
			else
			{
				$pagination.= "<a href=\"$targetpage?page=1\">1</a>";
				$pagination.= "<a href=\"$targetpage?page=2\">2</a>";
				$pagination.= "...";
				for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
				{
					if ($counter == $page)
						$pagination.= "<span class=\"current\">$counter</span>";
					else
						$pagination.= "<a href=\"$targetpage?page=$counter\">$counter</a>";					
				}
			}
		}
 
		//link halaman selanjutnya
		if ($page < $counter - 1) 
			$pagination.= "<a href=\"$targetpage?page=$next\">Selanjutnya »</a>";
		else
			$pagination.= "<span class=\"disabled\">Selanjutnya »</span>";
		$pagination.= "</div>\n";		
	}
?>
		<table border="1">
		<tr>
			<td>Nama</td>
			<td>Alamat</td>
		</tr>
	<?php
 
		while($row = mysql_fetch_array($result))
		{
 
		// Data yang ditampilkan
		?>
		<tr>
			<td><?=$row['nama']?></td>
			<td><?=$row['alamat']?></td>
		</tr>
 
		<?}?>
		</table>
 
 
<?=$pagination?>

Lihat hasilnya : http://appweb.co.cc/datakaryawan.php

  • Share/Bookmark
2 Responses to "PHP Pagination (Membuat halaman)"
Leave a Reply:

* Name

* Email Address

Website Address