Paginasi Data menggunakan PHP-MySQL-Ajax

Antefer.web.id
0 Comments
Untuk menampilkan data dari table yang memiliki banyak records sangat dibutuhkan sistem Paginasi, untuk memudahkan navigasi. Ada beberapa teknik membuat paginasi, berikut salah satu teknik paginasi menggunakan Ajax-PHP-MySQL.



Langkah pertama adalah membuat contoh database yang memiliki struktur tabel sebagai berikut :

CREATE TABLE `records` (
  `id` int(11) NOT NULL auto_increment,
  `img` varchar(255) NOT NULL,
  `message` varchar(200) NOT NULL,
  PRIMARY KEY  (`id`)
)
Isi tabel tersebut dengan beberapa contoh data dengan struktur data yang ada, Kemudian buat program PHP yang berfungsi untuk menghubungkan PHP dengan database, simpan file ini dalam bentuk PHP :

<?php
/* Database config */

$db_host  = 'localhost';
$db_user  = 'user database';
$db_pass  = 'password database';
$db_database  = 'nama database'; 

/* End config */

$link = @mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a DB connection');

mysql_query("SET NAMES 'utf8'");
mysql_select_db($db_database,$link);
?>
Berikutnya membuat program PHP yang bertujuan untuk mengambil dan menampilkan isi dari tabe, simpan dalam bentuk PHP :

<?php
include("connect.php");

$per_page = 4;
$sqlc = "show columns from records  ";
$rsdc = mysql_query($sqlc);
$cols = mysql_num_rows($rsdc);
$page = $_REQUEST['page'];

$start = ($page-1)*4;
$sql = "select * from records order by id limit $start,4";
$rsd = mysql_query($sql);
?>
<?php
while ($rows = mysql_fetch_assoc($rsd))
{?>
 <div class="each_rec"> <img src="<?php echo $rows['img'];?>" height="50" width="70" style="float:left; margin-right:3px;" alt="" /> <?php echo $rows['message'];?></div>
<?php
}?>

Program javascript berikut untuk menampilkan data yang telah diambil menggunakan Program PHP di atas :

$(document).ready(function(){
 //show loading bar
 function showLoader(){
  $('.search-background').fadeIn(200);
 }
 //hide loading bar
 function hideLoader(){
  $('.search-background').fadeOut(200);
 };
 
 $("#paging_button li").click(function(){
  //show the loading bar
  showLoader();
  
  $("#paging_button li").css({'background-color' : ''});
  $(this).css({'background-color' : '#A5CDFA'});

  $("#content").load("data.php?page=" + this.id, hideLoader);
 });
 
 // by default first time this will execute
 $("#1").css({'background-color' : '#A5CDFA'});
 showLoader();
 $("#content").load("data.php?page=1", hideLoader);
});
Berikut style CSS untuk mengatur tampilan paginasi :

/* CSS Document  www.99points.info */
#heading
{
 font-family:Georgia, "Times New Roman", Times, serif;
 font-size:56px;
 color:#CC0000;    
}
 body{
 text-align:center;
 font-family:Arial, Sans-Serif;
 font-size:0.75em;
}

/* CSS Document */
#container {
            height:300px;
   padding:12px;
   -moz-border-radius: 6px; 
   -webkit-border-radius: 6px;
   -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
   -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
            text-align: center;
            text-decoration: none;
   width: 600px;
   margin-top:40px;
        }

#container .each_rec{

   color:#000066;
   font-family:Arial, Helvetica, sans-serif;
   font-size:14px;
   padding:5px 5px 12px 5px;
   border-bottom:solid #669900;
   text-align:justify;
   margin-bottom:11px;
  }
  
.search-background {
  display: none;
  font-size: 13px;
  font-weight: bold;
  height:160px;
  position: absolute;
  padding-top:140px;
  -moz-border-radius: 6px; 
  -webkit-border-radius: 6px;
  -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  text-align: center;
  opacity:0.5;filter: alpha(opacity=50) ;
  text-decoration: none;
  width: 600px;
 }
 
.search-background {
  background-color: #ff4242;
  color:#FFFFFF;
  text-shadow: #fff 0px 0px 20px;
 }

search-background label{ 

 border:solid #66FF00 1px;
} 

#paging_button ul{ width: 600px; padding:0px; margin:8px;}

#paging_button ul li { -moz-border-radius: 6px; 
  -webkit-border-radius: 6px;
  -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.6);
  float:left; height:20px; width:20px; list-style-image:none; 
  list-style-type:none; font-weight:bold; border:solid #CCCCCC 1px;
  margin:3px; cursor:pointer}

li:hover{ color: #CC0000; cursor: pointer; }
Akhirnya semua program tersebut dijadikan satu dalam sebuah halam :

<!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=iso-8859-1" />
<title>Paginasi Halaman dengan Ajax</title>
<link rel="stylesheet" type="text/css" media="screen" href="css.css" />
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript" src="js.js"></script>
</head>
<body>


<?php
$per_page = 4;
include("connect.php");
$sql = "select * from records  ";
$rsd = mysql_query($sql);
$count = mysql_num_rows($rsd);
$pages = ceil($count/$per_page)
?>
<div align="center">
 
 <h1>Paginasi Halaman dengan Ajax</h1>
 <div id="container">
 
  <div class="search-background">
   <label><img src="loader.gif" alt="" /></label>
  </div>
 
  <div id="content"></div>
 </div>
 <div id="paging_button">
  <ul>
  <?php
  //Show page links
  for($i=1; $i<=$pages; $i++)
  {
   echo '<li id="'.$i.'">'.$i.'</li>';
  }?>
  </ul>
 </div>
</div>


<br clear="all" /><br clear="all" /><br clear="all" /><br clear="all" /><br clear="all" /><br clear="all" />
</body>
</html>

Untuk meliha contoh dari program ditas bisa dilihat disini, dan untuk download contoh programnya disini.


Posting Komentar

0Komentar

Posting Komentar (0)

#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Ok, Go it!