| |
Forum PHP IndonesiaDapatkan pertolongan pertama pada kebingungan PHP dan sekitarnya |
|
|
|
|
|
| |
|
|
All times are GMT + 7 Hours
|
|
gimana seh caranya 'paging' buat nampilin data
 |
Wed Oct 03, 2007 15:30 |
 |
Author |
Message |
neo Anak Baru

Joined: 01 Oct 2007 Posts: 2
|
| Post subject: gimana seh caranya 'paging' buat nampilin data |
|
|
wah ada problem lagi...soal paging saat nampilin data dari MYSQL....please....ajarin duuuuuunk
thx b4 |
|
| |
|
|
 |
Wed Oct 03, 2007 16:28 |
 |
Author |
Message |
Gress PHP Programmer

Joined: 01 Oct 2007 Posts: 107 Location: dimana weeeeeeeee...
|
| Post subject: aloo neo salam kenal nih saya buatin!!! |
|
|
aloo mas neo salam kenal!!!saya Gress,Kok Mas Noe minta Tolongnya di Topik Kenalan?but it's OK no Problem,ini saya buatin pagging data,semoga bisa membantu.
* cara paging pertama
| Code: | <?php <html>
<head>
<title>:: Paging Halaman ::</title>
<style type="text/css">
BODY, TD {font-family:verdana;font-size:8pt}
</style>
</head>
<body><center><br>
<?php
/* paging1.php */
require_once "koneksi.inc";
$flname = basename($PHP_SELF);
// Pesan jika data tidak ada
$dbkosong = '<font color=red>
<b>Ooops.... Data Tidak Ditemukan</b></font>';
$res = mysql_query("SELECT * FROM bukutamu ORDER BY id");
$jml = @mysql_num_rows($res);
if ($jml == 0) {
echo $dbkosong;
exit;
}
// Jumlah baris yang ditampilkan
$display = 3;
// Inisialisasi variabel page
if (isset($_GET["page"])) {
$page = $_GET["page"];
} else {
$page = 1;
}
// Mengatur data dalam array
while ($tampil_data = mysql_fetch_array($res)) {
$arrdata[] = $tampil_data;
}
// Hitung awal halaman
$start = ($page * $display) - $display;
$view = array_slice($arrdata, $start, $display);
$end = $display * $page;
// Menghitung total halaman
if (($jml%$display) == 0) {
$total = (int)($jml/$display);
} else {
$total = ((int)($jml/$display)+1);
}
// Kalkulasi data/row dan halaman
echo "<table width='450' style='border:1pt solid #666666;'>";
echo "<tr><td width='30%' bgcolor='#CCCCCC'>
Data ".($start+1)." - ".$end." dari $jml </td>
<td align=right width='70%' bgcolor='#CCCCCC'>
Halaman ke: $page dari $total</td></tr>
<tr><td> </td></tr>";
foreach ($view as $row) {
echo "<tr><td>Nama</td><td>$row[1]</td></tr>";
echo "<tr><td>Email</td><td><a href='mailto:$row[2]'>"
."$row[2]</a></td></tr>";
echo "<tr><td>Komentar</td><td>$row[3]</td></tr>";
echo "<tr><td> </td></tr>";
}
if ($start != 0) {
$awal = $page-1;
$prev = "<a href='$flname?page=$awal'>Previous</a>";
} else {
$prev="";
}
if (($end < $jml)) {
$berikut = $page+1;
$next = "<a href='$flname?page=$berikut'> Next </a>";
} else {
$next="";
}
// Mengatur navigasi halaman
echo "<tr><td bgcolor='#CCCCCC' height=16> $prev</td>
<td bgcolor='#CCCCCC' align=right
width=40% height=16>$next</td></tr>";
echo "</table>";
?>
</body></html> ?> |
* cara paging kedua
| Code: | <?php <html>
<head>
<title>:: Paging Halaman ::</title>
<style type="text/css">
BODY, TD {font-family:verdana,arial;font-size:8pt}
</style>
</head>
<body><br><br>
<?php
/* paging2.php */
require("koneksi.inc");
$flname = basename($PHP_SELF);
$dbkosong = '<font color=red>
<b>Ooops.... Data Tidak Ditemukan</b></font>';
$res = mysql_query("SELECT * FROM bukutamu ORDER BY id");
$jml = @mysql_num_rows($res);
if ($jml==0) {
echo $dbkosong;
exit;
}
// Batas baris per halaman
$batas = 3;
if (($jml%$batas) == 0) {
$jmlpage=(int)($jml/$batas);
} else {
$jmlpage=((int)$jml/$batas)+1;
}
// Inisialisasi variabel page
if (isset($_GET["page"])) {
$page = $_GET["page"];
} else {
$page = 1;
}
if ($page > $jmlpage) {
$page=$jmlpage;
}
while ($rows = mysql_fetch_array($res)) {
$arrdata[]=$rows;
}
$end =($page*$batas)-1;
$start=$end-($batas-1);
if ($end>$jml) {
$end=$jml-1;
}
for ($i=$start; $i<=$end; $i++) {
$arr[] = $arrdata[$i];
}
echo "<center><table width=500 style='border:1pt solid #666666;'>";
foreach ($arr as $row) {
echo "<tr><td><b>Nama</b></td><td>$row[1]</td></tr>";
echo "<tr><td width=100><b>Email</b></td><td>
<a href='mailto:$row[2]'>$row[2]</a></td></tr>";
echo "<tr><td><b>Komentar</b></td><td>$row[3]</td></tr>";
echo "<tr><td> </td></tr>";
}
echo "</table> <br>";
// Memeriksa halaman aktif
for ($n=1; $n<=$jmlpage; $n++) {
if ($n != $page) {
echo " <a href='$flname?page=$n'>
Hal $n</a> ";
} else {
echo "<font color='gray'><b>Hal $n</b></font>";
}
}
?>
</body></html> ?> |
* cara paging ketiga
| Code: | <?php <html>
<head>
<title>:: Paging Dinamis ::</title>
<link rel=stylesheet type=text/css href=mycss.css>
</head>
<body><center>
<?php
/* paging_dinamis.php */
require_once "koneksi.inc";
echo "<form action=\"$PHP_SELF\" method=\"GET\">";
echo "<b>Batas Baris per Halaman :</b>
<select name='batas'>
<option value='3'>3
<option value='5'>5
<option value='10'>10
<option value='10'>15
</select> ";
echo "<input type=submit value='Terapkan'>";
echo "</form>";
$flname=basename($PHP_SELF);
$res = mysql_query("SELECT * FROM bukutamu ORDER BY id");
$jml = @mysql_num_rows($res);
if ($jml == 0) {
echo "<font color=red>
<b>Ooops.... Data Tidak Ditemukan</b></font>";
exit;
}
// Inisialisasi nilai default batas per halaman
if (isset($_GET["batas"])) {
$batas = $_GET["batas"];
} else {
$batas = 3;
}
if (($jml % $batas) == 0) {
$jmlpage=(int)($jml/$batas);
} else {
$jmlpage=((int)$jml/$batas)+1;
}
// Inisialisasi variabel page
if (isset($_GET["page"])) {
$page = $_GET["page"];
} else {
$page = 1;
}
if ($page>$jmlpage) {
$page = $jmlpage;
}
while ($rows = mysql_fetch_array($res)) {
$arrdata[] = $rows;
}
$end = ($page*$batas)-1;
$start= $end-($batas-1);
if ($end > $jml) {
$end = $jml-1;
}
for ($i=$start; $i<=$end; $i++) {
$arr[] = $arrdata[$i];
}
echo "<table width=450 style='border:1pt solid #666666;'>";
foreach ($arr as $row) {
echo "<tr><td width=100>Nama</td>
<td width=10>:</td><td>$row[1]</td></tr>";
echo "<tr><td>Email</td><td>:</td><td>
<a href='mailto:$row[2]'>$row[2]</a></td></tr>";
echo "<tr><td>Komentar</td>
<td>:</td><td>$row[3]</td></tr>";
echo "<tr><td> </td></tr>";
}
echo "</table> <br>";
// Mengatur navigasi halaman
for ($n=1; $n<=$jmlpage; $n++) {
$b = $page + 1;
if ($n != $page) {
echo " <a href='$flname?page=$n&batas=$batas'>
Hal $n</a> ";
} else {
echo "<font color='#999999'><b>Hal $n </b></font>";
}
}
// Navigasi halaman berikutnya
if (($n != $page) && ($n > $b)) {
echo " <a href='$flname?page=$b&batas=$batas'>
Berikutnya</a>";
}
?>
</body></html> ?> |
selanjutnya Terserah Anda Ok.
-----------------------------------------------------------------------------------
Trims,Maju Terus Dunia OPEN SOURCE indonesia!!!!!
cawww.
Last edited by Gress on Wed Oct 03, 2007 16:32; edited 1 time in total |
|
| |
|
|
 |
Wed Oct 03, 2007 16:31 |
 |
Author |
Message |
Gress PHP Programmer

Joined: 01 Oct 2007 Posts: 107 Location: dimana weeeeeeeee...
|
| Post subject: aloo neo salam kenal!!! |
|
|
aloo mas neo salam kenal!!!saya Gress,Kok Mas Noe minta Tolongnya di Topik Kenalan?but it's OK no Problem,ini saya buatin pagging data,semoga bisa membantu.
* cara paging pertama
| Code: | <?php <html>
<head>
<title>:: Paging Halaman ::</title>
<style type="text/css">
BODY, TD {font-family:verdana;font-size:8pt}
</style>
</head>
<body><center><br>
<?php
/* paging1.php */
require_once "koneksi.inc";
$flname = basename($PHP_SELF);
// Pesan jika data tidak ada
$dbkosong = '<font color=red>
<b>Ooops.... Data Tidak Ditemukan</b></font>';
$res = mysql_query("SELECT * FROM bukutamu ORDER BY id");
$jml = @mysql_num_rows($res);
if ($jml == 0) {
echo $dbkosong;
exit;
}
// Jumlah baris yang ditampilkan
$display = 3;
// Inisialisasi variabel page
if (isset($_GET["page"])) {
$page = $_GET["page"];
} else {
$page = 1;
}
// Mengatur data dalam array
while ($tampil_data = mysql_fetch_array($res)) {
$arrdata[] = $tampil_data;
}
// Hitung awal halaman
$start = ($page * $display) - $display;
$view = array_slice($arrdata, $start, $display);
$end = $display * $page;
// Menghitung total halaman
if (($jml%$display) == 0) {
$total = (int)($jml/$display);
} else {
$total = ((int)($jml/$display)+1);
}
// Kalkulasi data/row dan halaman
echo "<table width='450' style='border:1pt solid #666666;'>";
echo "<tr><td width='30%' bgcolor='#CCCCCC'>
Data ".($start+1)." - ".$end." dari $jml </td>
<td align=right width='70%' bgcolor='#CCCCCC'>
Halaman ke: $page dari $total</td></tr>
<tr><td> </td></tr>";
foreach ($view as $row) {
echo "<tr><td>Nama</td><td>$row[1]</td></tr>";
echo "<tr><td>Email</td><td><a href='mailto:$row[2]'>"
."$row[2]</a></td></tr>";
echo "<tr><td>Komentar</td><td>$row[3]</td></tr>";
echo "<tr><td> </td></tr>";
}
if ($start != 0) {
$awal = $page-1;
$prev = "<a href='$flname?page=$awal'>Previous</a>";
} else {
$prev="";
}
if (($end < $jml)) {
$berikut = $page+1;
$next = "<a href='$flname?page=$berikut'> Next </a>";
} else {
$next="";
}
// Mengatur navigasi halaman
echo "<tr><td bgcolor='#CCCCCC' height=16> $prev</td>
<td bgcolor='#CCCCCC' align=right
width=40% height=16>$next</td></tr>";
echo "</table>";
?>
</body></html> ?> |
* cara paging kedua
| Code: | <?php <html>
<head>
<title>:: Paging Halaman ::</title>
<style type="text/css">
BODY, TD {font-family:verdana,arial;font-size:8pt}
</style>
</head>
<body><br><br>
<?php
/* paging2.php */
require("koneksi.inc");
$flname = basename($PHP_SELF);
$dbkosong = '<font color=red>
<b>Ooops.... Data Tidak Ditemukan</b></font>';
$res = mysql_query("SELECT * FROM bukutamu ORDER BY id");
$jml = @mysql_num_rows($res);
if ($jml==0) {
echo $dbkosong;
exit;
}
// Batas baris per halaman
$batas = 3;
if (($jml%$batas) == 0) {
$jmlpage=(int)($jml/$batas);
} else {
$jmlpage=((int)$jml/$batas)+1;
}
// Inisialisasi variabel page
if (isset($_GET["page"])) {
$page = $_GET["page"];
} else {
$page = 1;
}
if ($page > $jmlpage) {
$page=$jmlpage;
}
while ($rows = mysql_fetch_array($res)) {
$arrdata[]=$rows;
}
$end =($page*$batas)-1;
$start=$end-($batas-1);
if ($end>$jml) {
$end=$jml-1;
}
for ($i=$start; $i<=$end; $i++) {
$arr[] = $arrdata[$i];
}
echo "<center><table width=500 style='border:1pt solid #666666;'>";
foreach ($arr as $row) {
echo "<tr><td><b>Nama</b></td><td>$row[1]</td></tr>";
echo "<tr><td width=100><b>Email</b></td><td>
<a href='mailto:$row[2]'>$row[2]</a></td></tr>";
echo "<tr><td><b>Komentar</b></td><td>$row[3]</td></tr>";
echo "<tr><td> </td></tr>";
}
echo "</table> <br>";
// Memeriksa halaman aktif
for ($n=1; $n<=$jmlpage; $n++) {
if ($n != $page) {
echo " <a href='$flname?page=$n'>
Hal $n</a> ";
} else {
echo "<font color='gray'><b>Hal $n</b></font>";
}
}
?>
</body></html> ?> |
* cara paging ketiga
| Code: | <?php <html>
<head>
<title>:: Paging Dinamis ::</title>
<link rel=stylesheet type=text/css href=mycss.css>
</head>
<body><center>
<?php
/* paging_dinamis.php */
require_once "koneksi.inc";
echo "<form action=\"$PHP_SELF\" method=\"GET\">";
echo "<b>Batas Baris per Halaman :</b>
<select name='batas'>
<option value='3'>3
<option value='5'>5
<option value='10'>10
<option value='10'>15
</select> ";
echo "<input type=submit value='Terapkan'>";
echo "</form>";
$flname=basename($PHP_SELF);
$res = mysql_query("SELECT * FROM bukutamu ORDER BY id");
$jml = @mysql_num_rows($res);
if ($jml == 0) {
echo "<font color=red>
<b>Ooops.... Data Tidak Ditemukan</b></font>";
exit;
}
// Inisialisasi nilai default batas per halaman
if (isset($_GET["batas"])) {
$batas = $_GET["batas"];
} else {
$batas = 3;
}
if (($jml % $batas) == 0) {
$jmlpage=(int)($jml/$batas);
} else {
$jmlpage=((int)$jml/$batas)+1;
}
// Inisialisasi variabel page
if (isset($_GET["page"])) {
$page = $_GET["page"];
} else {
$page = 1;
}
if ($page>$jmlpage) {
$page = $jmlpage;
}
while ($rows = mysql_fetch_array($res)) {
$arrdata[] = $rows;
}
$end = ($page*$batas)-1;
$start= $end-($batas-1);
if ($end > $jml) {
$end = $jml-1;
}
for ($i=$start; $i<=$end; $i++) {
$arr[] = $arrdata[$i];
}
echo "<table width=450 style='border:1pt solid #666666;'>";
foreach ($arr as $row) {
echo "<tr><td width=100>Nama</td>
<td width=10>:</td><td>$row[1]</td></tr>";
echo "<tr><td>Email</td><td>:</td><td>
<a href='mailto:$row[2]'>$row[2]</a></td></tr>";
echo "<tr><td>Komentar</td>
<td>:</td><td>$row[3]</td></tr>";
echo "<tr><td> </td></tr>";
}
echo "</table> <br>";
// Mengatur navigasi halaman
for ($n=1; $n<=$jmlpage; $n++) {
$b = $page + 1;
if ($n != $page) {
echo " <a href='$flname?page=$n&batas=$batas'>
Hal $n</a> ";
} else {
echo "<font color='#999999'><b>Hal $n </b></font>";
}
}
// Navigasi halaman berikutnya
if (($n != $page) && ($n > $b)) {
echo " <a href='$flname?page=$b&batas=$batas'>
Berikutnya</a>";
}
?>
</body></html> ?> |
selanjutnya Terserah Anda Ok.
-----------------------------------------------------------------------------------
Trims,Maju Terus Dunia OPEN SOURCE indonesia!!!!!
cawww. |
|
| |
|
|
 |
Thu Oct 04, 2007 08:11 |
 |
Author |
Message |
xibnoe Site Admin


Joined: 05 Aug 2007 Posts: 921
|
| Post subject: |
|
|
Mungkin cara mas Gress bisa jalan tetapi problemnya adalah jika Jumlah data ada jutaan maka query "SELECT * FROM bukutamu ORDER BY id" adalah query yang SANGAT MENAKUTKAN. Apabial data di fetch maka data akan dimasukkan ke memori. Logikanya semakin banyak data di memori maka semakin kurang performa server anda :D
cara paging yan efekti adalah dengan membatasi jumlah data yang di fetch dati MYSQl. Kita bisa melakukannya dengan keyword "LIMIT" (lihat manual MYSQL untuk selengkapnya) _________________ Kumpulan Tutorial Web Berkualitas |
|
| |
|
|
 |
Sat Sep 20, 2008 23:34 |
 |
Author |
Message |
cooleve PHPuser

Joined: 20 Sep 2008 Posts: 31 Location: jakarta
|
| Post subject: |
|
|
Manual SQL itu maksudnya kayak PHP help ya? Boleh nanya gak dapet donlod-an-nya dimana? Soalnya masi rada gak mudeng soal LIMIT.
Trus mo nanya jg, klo coding paging itu saya pake buat proyek yg lagi saya bikin bole nda? Soalnya saya dah coba bikin sendiri, tp ada yang mentok... |
|
| |
|
|
 |
Tue Sep 23, 2008 14:49 |
 |
Author |
Message |
ArRay PHP Master

Joined: 02 Jan 2008 Posts: 291 Location: Kediri Suroboyo
|
| Post subject: |
|
|
iyaaapppp kasih limit aja lebih ok. so lebih cepet n hemat.
nech sedikit script sederhanaku nan simple banget. semoga membntu.
| Code: | <?php $awal=$HTTP_GET_VARS["awal"];
if(empty($awal)){$awal = "0";}
$batas=10;
$query = mysql_query("select distinct judul from data limit $awal,$batas",$koneksi);
while($title = mysql_fetch_row($query)){
echo"<a href='page.php?judul=$title[0]&awal=$awal'>$title[0]</a>";
}
echo"Page : ";
$squery=mysql_query("select distinct Id from data Id desc",$koneksi);
$num=mysql_num_rows($squery);
$j=ceil($num/$batas);
for($i=1;$i<=$j;$i++){
$awalan=ceil($i*$batas)-$batas;
if($awal!=$awalan){
echo "<a href='page.php?awal=$awalan'><b>$i</b> </a>";
}
else {
echo " [$i] ";
}
} ?> |
_________________ Just Follow The Dream |
|
| |
|
|
 |
Tue Sep 23, 2008 14:50 |
 |
Author |
Message |
ArRay PHP Master

Joined: 02 Jan 2008 Posts: 291 Location: Kediri Suroboyo
|
| Post subject: |
|
|
tambahan :
$koneksi <= ini adalah koneksi ke server
$koneksi = mysql_connect("host","user","password"); _________________ Just Follow The Dream |
|
| |
|
|
 |
Tue Oct 14, 2008 18:23 |
 |
Author |
Message |
pencari_ilmu PHPnewbie

Joined: 12 Oct 2008 Posts: 7 Location: medan
|
| Post subject: |
|
|
| Jadi klu buat pagin kayak di forum ini gmn?? |
|
| |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|
|
|
|
|
Powered by phpBB © 2001, 2002 phpBB Group
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|