Anda di halaman 1dari 27

Membuat Paging dengan PHP dan MySQL

Menampilkan data dalam jumlah banyak dalam satu halaman bukanlah pilihan yang baik. Selain
membuat load database menjadi besar, dari sisi user juga tentu tidak nyaman untuk selalu menscroll halaman hingga ratusan bahkan ribuan baris data. Untuk itu diperlukan pemecahan data
menjadi beberapa halaman dengan jumlah data yang terbatas setiap halamannya (misalkan 20
50 data per halaman).
Membuat paging dengan PHP tidaklah sulit. Silahkan ikuti tutorial berikut ini.

Materi Dasar
Tentu kalian sudah tahu bahwa untuk menampilkan data dari database adalah dengan query
SELECT * FROM nama_tabel. Query tersebut akan menampilkan seluruh data dari tabel.
Untuk membatasi jumlah data yang ditampilkan, tambahkan perintah LIMIT offset, row_count
sehingga untuk menampilkan data sebanyak 50 row, query menjadi seperti berikut.

1 SELECT * FROM nama_tabel LIMIT 0, 50;


Keterangan :

adalah berapa banyak data yang akan dilewati (skip). Jika offset 0, maka data
ditampilkan dari baris pertama. Jika offset 10, maka data ditampilkan dari baris ke-11.
row_count adalah jumlah data yang akan ditampilkan.
offset

Perhatikan lagi query diatas, LIMIT 0, 50 berarti menampilkan data sebanyak 50 baris dari
baris pertama. Jika ingin menampilkan data sebanyak 50 data dimulai dari baris ke 51, maka
query nya adalah LIMIT 50, 50.

Implementasi dengan PHP


Agar paging dapat digunakan berulang kali dengan mudah (reusable), paging kita buat
sebagai function. Ada dua fungsi yang akan kita buat, yaitu :
1. getTableData() digunakan untuk mengambil data dari tabel untuk ditampilkan pada
halaman yang dipilih.
2. showPagination() digunakan untuk menampilkan tombol pagination.

Dengan membuat kedua fungsi ini, kita akan dapat dengan mudah menampilkan tombol paginasi
dan data dari tabel tanpa harus menulis ulang kode setiap kali diperlukan.

Fungsi getTableData()
Buat file baru. Ketikkan kode berikut dan simpan dengan nama pagination.php.

1 function getTableData($tableName, $page = 1, $limit = 20)


2 {
3
$dataTable = array();
4
$startRow = ($page - 1) * $limit;
5
$query = mysql_query('SELECT * FROM `'.$tableName.'` LIMIT '.$startRow.', '.$limit);
6
7
while ($data = mysql_fetch_assoc($query))
8
array_push($dataTable, $data);
9
10 return $dataTable;
11 }
Perhatikan variabel $query, disini kita menerapkan query sql dengan LIMIT.
Parameter offset dan row_count diambil dari variabel $limit dan $startRow. Variabel
$startRow adalah hasil perhitungan untuk mendapatkan nilai offset sehingga data yang
ditampilkan sesuai dengan halaman yang dibuka.

Fungsi showPagination()
Tambahkan kode berikut pada file pagination.php.

1 function showPagination($tableName, $limit = 20)


2 {
3
$countTotalRow = mysql_query('SELECT COUNT(*) AS total FROM `'.$tableName.'`');
4
$queryResult = mysql_fetch_assoc($countTotalRow);
5
$totalRow = $queryResult['total'];
6
7
$totalPage = ceil($totalRow / $limit);

8
9
10
11
12
13
14
15
16
17
18 }

$page = 1;
while ($page <= $totalPage)
{
echo '<a href="?page='.$page.'&perPage='.$limit.'">'.$page.'</a>';
if ($page < $totalPage)
echo " | ";
$page++;
}

Untuk bisa membuat paging, maka kita harus mengetahui jumlah total data yang ada terlebih
dahulu, kemudian total data tersebut dibagi dengan jumlah data yang ditampilkan dalam satu
halaman. Dengan demikian, kita mendapatkan jumlah paging yang dapat dibuat. Perhatikan
variabel $totalPage.
Jika kita memiliki data sebanyak 13 baris dan akan ditampilkan sebanyak 5 data per halaman,
maka paging yang dibuat adalah 3, sehingga data pada baris ke 11, 12, dan 13 dapat
ditampilkan. Untuk memenuhi kebutuhan ini, maka digunakan fungsi ceil() untuk
membulatkan pembagian ke atas karena 13 jika dibagi 3 tidaklah bulat 3 dan juga bukan 4.
Setelah jumlah total paging yang akan dibuat diketahui, sekarang kita tinggal membuat tombol
sebanyak jumlah halaman (total paging) yang didapat dengan menggunakan pengulangan while
($page <= $totalPage).

Menampilkan Data
Sekarang kita sudah memiliki dua fungsi untuk menampilkan data dan untuk membuat tombol
paginasi. Sekarang kita gunakan kedua fungsi tersebut.
Buat file baru dan simpan dengan nama data.php. Kemudian buatlah koneksi ke database.
Silahkan gunakan database apa saja yang pernah dibuat, yang penting ada tabel yang memiliki
data yang cukup untuk contoh (misal memiliki lebih dari 20 baris data).

1
2
3
4
5
6

<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('test');
include_once('pagination.php');

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

// untuk mengetahui halaman keberapa yang sedang dibuka


// juga untuk men-set nilai default ke halaman 1 jika tidak ada
// data $_GET['page'] yang dikirimkan
$page = 1;
if (isset($_GET['page']) && !empty($_GET['page']))
$page = (int)$_GET['page'];
// untuk mengetahui berapa banyak data yang akan ditampilkan
// juga untuk men-set nilai default menjadi 5 jika tidak ada
// data $_GET['perPage'] yang dikirimkan
$dataPerPage = 5;
if (isset($_GET['perPage']) && !empty($_GET['perPage']))
$dataPerPage = (int)$_GET['perPage'];
// tabel yang akan diambil datanya
$table = 'user';
// ambil data
$dataTable = getTableData($table, $page, $dataPerPage);
// menampilkan tombol paginasi
showPagination($table, $dataPerPage);
?>
<table>
<thead>
<tr>
<th>No.</th>
<th>Nama</th>
</tr>
</thead>
<tbody>
<?php
foreach ($dataTable as $i => $data)
{
$no = ($i + 1) + (($page - 1) * $dataPerPage);
echo '<tr>
<td>'.$no.'</td>
<td>'.$data['nama'].'</td>
</tr>';
}
?>
</tbody>
</table>

Penjelasan dapat dibaca pada baris-baris komentar kode di atas. Silahkan dipahami.

Kesimpulan
Membuat paginasi tidaklah sulit. Dengan membuat paginasi menjadi fungsi, kita dapat dengan
mudah menggunakan fitur paginasi tanpa harus menuliskan kode yang sama berulang kali pada
halaman-halaman yang membutuhkan.
Selamat belajar.

PHP - Cara Mudah Membuat Paging


Halaman

Assalamualaikum...
Wah, sudah lama sekali saya tidak posting diblog ini, mungkin ini kesempatan saya untuk bisa
berbagi sedikit ilmu yang saya punya. ok langsung ke TKP kaya OVJ aja he...
Pertama saya akan sedikit jelaskan tentang teknik paging halaman, dalam hal menampilkan
sebuah data dari database banyak yang menggunakan table dan cara ini pun akan memakai table,
yang jadi masalah bagaimana jika data yang akan ditampilkan berjumlah ratusan bahkan ribuan
(what..!) ? , nah dengan membuat paging data yang akan ditampilkan akan dibagi-bagi per
halaman seperti <<Prev 1,2,3,4...11,12,13 Next>> dst. sebelum ke pembahasan saya asumsikan
anda sudah tau cara perulangan dan menampilkan data di tabel. ok kita bahas sedikit-sedit.
Sebagai contoh kita buat tabel product
CREATE TABLE product (
id int(11) auto_increment,
nama_produk varchar(20),
harga varchar(20),
stok date,
PRIMARY KEY (id)
)
Tentukan berapa data yang akan ditampilkan perhalaman
// jumlah data yang akan ditampilkan per halaman (6 data)
$dataPerPage = 6;

Buat variabel dengan menggunakan GET

// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut,


// sedangkan apabila belum, nomor halamannya 1.
if(isset($_GET['paging']))
{
$noPage = $_GET['paging'];
}
else $noPage = 1;

Perhitungan offsite

// perhitungan offset

$offset = ($noPage - 1) * $dataPerPage;

artinya variabel $offset menampung nilai = 1-1 * 6 = 6, berarti data yang akan ditampilkan per
halaman adalah 6

Membuat/mencetak No, Next dan Prev beserta linknya

$query
= "SELECT COUNT(*) AS jumData FROM product ";
$hasil = mysql_query($query);
$data
= mysql_fetch_array($hasil);
$jumData = $data['jumData'];
// menentukan jumlah halaman yang muncul berdasarkan jumlah semua data
$jumPage = ceil($jumData/$dataPerPage);
// menampilkan link previous
if ($noPage > 1) echo "<a
1)."'>&lt;&lt; Prev</a>";

href='".$_SERVER['PHP_SELF']."?paging=".($noPage-

// memunculkan nomor halaman dan linknya


for($page = 1; $page <= $jumPage; $page++)
{
if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page ==
1) || ($page == $jumPage))
{
if (($showPage == 1) && ($page != 2)) echo "...";
if (($showPage != ($jumPage - 1)) && ($page == $jumPage)) echo
"...";
if ($page == $noPage) echo " <b>".$page."</b> ";
else echo " <a href='".$_SERVER['PHP_SELF']."?paging=".$page."'>".
$page."</a> ";
$showPage = $page;
}
}
// menampilkan link next
if ($noPage < $jumPage) echo "<a href='".$_SERVER['PHP_SELF']."?paging=".
($noPage+1)."'>Next &gt;&gt;</a>";

Selanjutnya coba kita terapkan dengan menggunakan tabel sekaligus menapilkan data dari
database, berikut source full nya:
<table width="100%" border="0" align="center">
<tr>
<td colspan="4">&nbsp; DAFTAR PRODUK</td>
</tr>
<?
include_once "koneksi.php";
//koneksi ke database

// jumlah data yang akan ditampilkan per halaman


$dataPerPage = 6;
// apabila $_GET['page'] sudah didefinisikan, gunakan nomor halaman tersebut,
// sedangkan apabila belum, nomor halamannya 1.
if(isset($_GET['paging']))
{
$noPage = $_GET['paging'];
}
else $noPage = 1;
// perhitungan offset
$offset = ($noPage - 1) * $dataPerPage;
$sqlstr = "SELECT * FROM product
LIMIT $offset, $dataPerPage";
$query = mysql_query($sqlstr) or die ("Ada kesalahan ".mysql_error());
while($row=mysql_fetch_array($query))
{
?>
<tr>

<td><php
<td><php
<td><php
<td><php
</tr>
<?

echo
echo
echo
echo

$row[0];
$row[1];
$row[2];
$row[3];

?></td>
?></td>
?></td>
?></td>

}
?>
<tr>
<td colspan="4" align="center">
<?
$query
$hasil
$data

= "SELECT COUNT(*) AS jumData FROM product ";


= mysql_query($query);
= mysql_fetch_array($hasil);

$jumData = $data['jumData'];
// menentukan jumlah halaman yang muncul berdasarkan jumlah semua data
$jumPage = ceil($jumData/$dataPerPage);
// menampilkan link previous
if ($noPage > 1) echo "<a
1)."'>&lt;&lt; Prev</a>";

href='".$_SERVER['PHP_SELF']."?paging=".($noPage-

// memunculkan nomor halaman dan linknya

for($page = 1; $page <= $jumPage; $page++)


{
if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page ==
1) || ($page == $jumPage))
{
if (($showPage == 1) && ($page != 2)) echo "...";
if (($showPage != ($jumPage - 1)) && ($page == $jumPage)) echo
"...";
if ($page == $noPage) echo " <b>".$page."</b> ";
else echo " <a href='".$_SERVER['PHP_SELF']."?paging=".$page."'>".
$page."</a> ";
$showPage = $page;
}
}
// menampilkan link next
if ($noPage < $jumPage) echo "<a href='".$_SERVER['PHP_SELF']."?paging=".
($noPage+1)."'>Next &gt;&gt;</a>";
?>

</td>
</tr>
</table>

Selesai, dan tunggu artikel selanjutnya kita akan coba buat advance paging yaitu dengan sedikit
menambahkan CSS
Wassalam

Cara Membuat Readmore Menggunakan (more) di PHP


by Arez Azka on 23.27 No comments

Seringkali kita melihat website yang menampilkan sebagian isi berita


dengan link readmore pada masing - masing headlinenya. Bagi seorang
pemula dalam pemrograman php mungkin berfikir bagaimana cara
membuatnya ?, berikut saya akan coba jelaskan tentang Bagaimana cara
membuat readmore menggunakan PHP...
sebelum kita membuat readmore kita harus memiliki databasenya dahulu.
Adapun langkah - langkahnya sebagai berikut :
1. Kita buat data base dengan nama latihan
2. Buatlah table dengan nama artikel

3. Isi database dengan artikel yang mau di bahas


4. buat script dibawah ini dan simpan koneksi.php
<?php
$server = "localhost";
$user = "root";
$pass = "";
$db = "latihan";
$koneksi = mysql_connect($server, $user, $pass);

if ($koneksi) {
$koneksiDB = mysql_select_db($db);
if (!$koneksiDB) {
echo "Tidak dapat terhubung ke database";
}
} else {
echo "Tidak dapat terhubung ke MySQL";
}
?>
Koneksi.php berguna untuk menghubungkan database dengan web
4. buat script dibawah ini dan simpan index.php
<?
include "koneksi.php";
$sql = "SELECT * FROM artikel";
$query = mysql_query($sql);
while ($hasil=mysql_fetch_array($query)){
$potong = explode ('<!--more-->', $hasil ['isi']);
echo"<h1>$hasil[judul]</h1><br>";
echo"<i>Diposting pada tanggal : $hasil[tanggal]<br><br></i>";
echo $potong [0].". . .<a href='artikel.php?id=$hasil[0]'>Read
More</a><hr><p>";
}
?>
berikut contoh readmore yang sudah jadi

index.php merupakan script yang akan dipangil secara otomatis dari


localhost, index.php ini berguna sebagai halaan utama.

5. buat script dibawah ini dan simpan artikel.php


<?
include "koneksi.php";
$artikel = $_GET['id'];
$sql = " SELECT * FROM artikel WHERE id='$artikel' ";
$query = mysql_query($sql);
while ($hasil=mysql_fetch_array($query)) {
echo"<h1>$hasil[judul]</h1>";
echo"<i>Diposting pada tanggal : $hasil[tanggal]<br><br></i>";
echo"$hasil[isi]";
}
?>
artikel.php bertugas sebagai halaman yang dipanggil oleh read more dari
halaman index.php
selamat mencoba semoga bermanfaat

<!DOCTYPE html>
<html>
<head>
<style>
div.ex {
width: 220px;
padding: 10px;
border: 5px solid gray;
margin: 5px;
}
</style>
</head>
<body>
<img src="w3css.gif" width="250" height="250">
<div class="ex">The picture above is 250px wide. The total width of this element is also
250px.</div>
</body>
</html>

border-style values:
<!DOCTYPE html>
<html>
<head>
<style>
p.none {border-style: none;}
p.dotted {border-style: dotted;}
p.dashed {border-style: dashed;}

p.solid {border-style: solid;}


p.double {border-style: double;}
p.groove {border-style: groove;}
p.ridge {border-style: ridge;}
p.inset {border-style: inset;}
p.outset {border-style: outset;}
p.hidden {border-style: hidden;}
</style>
</head>
<body>

<p class="none">No border.</p>


<p class="dotted">A dotted border.</p>
<p class="dashed">A dashed border.</p>
<p class="solid">A solid border.</p>
<p class="double">A double border.</p>
<p class="groove">A groove border.</p>
<p class="ridge">A ridge border.</p>
<p class="inset">An inset border.</p>
<p class="outset">An outset border.</p>
<p class="hidden">A hidden border.</p>

</body>
</html>

Draw a line around an element (outline)


<!DOCTYPE html>
<html>
<head>
<style>
p {border: 1px solid red;}
p.dotted {outline-style: dotted;}
p.dashed {outline-style: dashed;}

p.solid {outline-style: solid;}


p.double {outline-style: double;}
p.groove {outline-style: groove;}
p.ridge {outline-style: ridge;}
p.inset {outline-style: inset;}
p.outset {outline-style: outset;}
</style>
</head>
<body>

<p class="dotted">A dotted outline</p>


<p class="dashed">A dashed outline</p>
<p class="solid">A solid outline</p>
<p class="double">A double outline</p>
<p class="groove">A groove outline</p>
<p class="ridge">A ridge outline</p>
<p class="inset">An inset outline</p>
<p class="outset">An outset outline</p>
<b>Note:</b> IE8 supports the outline properties only if a !DOCTYPE is specified.

</body>
</html>

<!DOCTYPE html>
<html>
<head>
<style>
#customers {

font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;


width: 100%;
border-collapse: collapse;
}

#customers td, #customers th {


font-size: 1em;
border: 1px solid #98bf21;
padding: 3px 7px 2px 7px;
}

#customers th {
font-size: 1.1em;
text-align: left;
padding-top: 5px;
padding-bottom: 4px;
background-color: #A7C942;
color: #ffffff;
}

#customers tr.alt td {
color: #000000;
background-color: #EAF2D3;
}
</style>
</head>

<body>

<table id="customers">
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr class="alt">
<td>Berglunds snabbkp</td>
<td>Christina Berglund</td>
<td>Sweden</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
<tr class="alt">
<td>Ernst Handel</td>
<td>Roland Mendel</td>

<td>Austria</td>
</tr>
<tr>
<td>Island Trading</td>
<td>Helen Bennett</td>
<td>UK</td>
</tr>
<tr class="alt">
<td>Kniglich Essen</td>
<td>Philip Cramer</td>
<td>Germany</td>
</tr>
<tr>
<td>Laughing Bacchus Winecellars</td>
<td>Yoshi Tannamuri</td>
<td>Canada</td>
</tr>
<tr class="alt">
<td>Magazzini Alimentari Riuniti</td>
<td>Giovanni Rovelli</td>
<td>Italy</td>
</tr>
<tr>
<td>North/South</td>
<td>Simon Crowther</td>
<td>UK</td>

</tr>
<tr class="alt">
<td>Paris spcialits</td>
<td>Marie Bertrand</td>
<td>France</td>
</tr>
</table>

</body>
</html>

Membuat Tampilan Perhalaman


<html>
<head>
<title>Membuat tampilan data dengan halaman</title>
</head>
<body>
<?php
// setting koneksi
$namaserver = "localhost"; // nama mysql server. 98% tidak perlu dirubah :)
$username = "root";
// username
$password = "";
// dan password
$database = "namadatabase"; // nama database
$perhalaman = 10;

// tentukan jumlah data perhalaman

// jika ada parameter halaman, ambil. jika tidak, isikan kosong


$halaman = isset($_GET["hal"]) ? $_GET["hal"] : "0";
// hitung posisi awal data (offset)
$awal = $halaman * $perhalaman;
// lakukan koneksi ke server

mysql_connect($namaserver, $username, $password) or die("Tidak dapat konek ke


'$namaserver'");
mysql_select_db($database) or die("Tidak dapat membuka database '$database'");
// query untuk ambil data.
// rubah sesuai dengan kebutuhan (namatabel dan namafield untuk pengurutan)
$query = "select * from namatabel order by namafield limit $awal, $perhalaman";
$query_jumlah = "select count(*) from namatabel";
// ambil jumlah total data
$rs_jumlah = mysql_query($query_jumlah) or die(mysql_error());
$r = mysql_fetch_row($rs_jumlah);
// hitung total halaman
$total_halaman = ceil($r[0] / $perhalaman);
// bentuk halaman, di sini intinya
$halaman_str = ""; // kosongkan variabel
// jika berada pada halaman ketiga atau lebih, tampilkan link [pertama]
if ($halaman > 1)
$halaman_str .= "<a href='?hal=0' title='Halaman pertama'>[pertama]</a> ";
// jika berada pada halaman kedua atau lebih, tampilkan link [sebelumnya]
if ($halaman > 0)
{
$hal = $halaman - 1;
$halaman_str .= "<a href='?hal=$hal' title='Halaman
sebelumnya'>[sebelumnya]</a> ";
}
// ambil semua nomor halaman
for ($i = 0; $i < $total_halaman; $i++)
{
$hal = $i + 1;
if ($i == $halaman) // jika halaman aktif, tidak usah diberi link
$halaman_str .= "$hal ";
else
$halaman_str .= "<a href='?hal=$i' title='Halaman $hal'>$hal</a> ";
}
// jika bukan berada pada halaman terakhir
if ($halaman < ($total_halaman - 1))
{
$hal = $halaman + 1;
$halaman_str .= "<a href='?hal=$hal' title='Halaman
berikutnya'>[berikutnya]</a> ";
}

// jika bukan pada 2 halaman terakhir


if ($halaman < ($total_halaman - 2))
{
$hal = $total_halaman - 1;
$halaman_str .= "<a href='?hal=$hal' title='Halaman terakhir'>[terakhir]</a> ";
}
// bentuk format halaman
$halaman_str = "<div style='width: 100%; background-color:
#ddd'>$halaman_str</div>\n";
// baca data halaman ini
$rs = mysql_query($query) or die(mysql_error());
// tampilkan halaman dan data
echo "$halaman_str";
echo "<table border='1' width='100%'>";
// tampilkan nama-nama field sebagai header tabel
echo "<tr bgcolor='#aaaaaa'>";
for($i = 0; $i < mysql_num_fields($rs); $i++)
{
$namafield = mysql_field_name($rs, $i);
echo "<th>$namafield</th>";
}
echo "</tr>";
// tampilkan semua data
while ($r = mysql_fetch_array($rs))
{
echo "<tr>";
for($i = 0; $i < mysql_num_fields($rs); $i++)
echo "<td>$r[$i]</td>";
echo "</tr>";
}
echo "</table>";
echo "$halaman_str";
// selesai :)
?>
</body>
</html>

Membuat PAGE 1 2 3
<-Previous 1 2 3 Next->
Halaman tersebut contentnya di ambil dari database MySql, selain itu kita juga bisa menentukan
berapa item yang akan kita tampilkan per-halaman. Menarik bukan???

Tabel database yang saya gunakan (ini hanya contoh):

CREATE TABLE content (


? id int(225) NOT NULL auto_increment,
? judul varchar(50) collate latin1_general_ci NOT NULL default ,
? isi longtext collate latin1_general_ci NOT NULL,
? PRIMARY KEY? (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
AUTO_INCREMENT=5 ;

Koneksi db.php:

<?php
$dbhost = localhost;
$dbusername = user_kamu;
$dbpasswd = pass_kamu;

$database_name = database_kamu;
#under here, dont touch!
@$connection = mysql_pconnect($dbhost,$dbusername,$dbpasswd) or die
(MySql Putus tidak bisa connect ke server);
@$db = mysql_select_db($database_name, $connection) or die(Database tidak ditemukan);
?>
Deskripsi Script:

<?php
/* ini kita include koneksi database */
include db.php;
/* tentukan table nya */
$table = content;
$hal = $_GET[hal];
/* jika page default nya 1 */
if(!isset($_GET['hal'])){
??? $page = 1;
} else {
??? $page = $_GET['hal'];
}
/* tentukan jumlah item per halaman */
$max_results = 5;
/* halaman di kali MAX jumlah item per halaman dikurangi MAX jumlah item per halaman */
/* logika: 1 x 5 = 5? ,? 5 5 = 0?? , jadi id database dimulai dari 0*/
$from = (($page * $max_results) $max_results);?
/* tampilkan dari databse, LIMIT dari contuh diatas id dari 0 sampai 5 */
$sql = mysql_query(SELECT * FROM $table ORDER BY id DESC LIMIT $from,
$max_results );
while($row = mysql_fetch_array($sql)){
/* display result, ini tergantung table database mu */
?>
<?php echo $row[2] ?><br>
<?php echo $row[3] ?></a><br />
<?php echo $row[1] ?> | Halaman Ini dibaca <?php echo $row[6] ?> kali<br />
<?php echo $row[4]; ?>

<hr>
<?php
}
$total_results = mysql_result(mysql_query(SELECT COUNT(*) as Num FROM
$table),0);
$total_pages = ceil($total_results / $max_results);
/* bangun jumlah hiperlink halaman*/
echo <center>Select a Page<br />;
/* bangun Previous link */
if($hal > 1){
??? $prev = ($page 1);
??? echo <a href=$_SERVER[PHP_SELF]?hal=$prev> <-Previous </a> ;
}
for($i = 1; $i <= $total_pages; $i++){
??? if(($hal) == $i){
??????? echo $i ;
??????? } else {
??????????? echo <a href=$_SERVER[PHP_SELF]?hal=$i>$i</a> ;
??? }
}
/* bangun Next link */
if($hal < $total_pages){
??? $next = ($page + 1);
??? echo <a href=$_SERVER[PHP_SELF]?hal=$next>Next-></a>;
}
echo </center>;
?>
Referensi luar negri
Saya modifikasi supaya mudah di gunakan dan di implementasikan oleh teman-teman semua
Script ini telah di test dan jalan 100% di:
- mesin pentium III 650Mhz
- ram 256mb
- server konsol server XAMPP versi 1.5.3 Beta 5

Anda mungkin juga menyukai