มีปัญหาเกี่ยวกับการ paging ค่ะ คือจำนวนข้อมูลเยอะทำให้ไม่สวยงาม
ของดีๆ
Date :
2009-07-20 18:39:57
By :
plakrim
ดี และสวย อีกต่างหาก
จัดไปครับ
Date :
2009-07-20 19:22:23
By :
panyapol
555 ขอบคุณที่เอาโค้ดผมมาแน่ะนำครับ
Date :
2009-07-21 09:06:11
By :
danya
ง่า มันดีนะ แต่แก้codeไม่เปงอ่ะ เอามาปรับแว้วerrorอ่ะค่ะ งงมากเลย
Date :
2009-07-21 10:30:04
By :
paesalee
error ยังไงครับ
ง่ายๆ ครับ
ลองทำแบบนี้
Code (PHP)
<?php
require_once 'class.pagination.php'; // include class
$pageNum = 1 //หน้าปัจจุบัน อาจจะรับค่าจาก $_GET['page']
$perPage = 10//จำนวนข้อมูลต่อหน้า
$row['numrows'] = 100 //จำนวนข้อมูลทั้งหมด
$page = new pagination($pageNum, $perPage, $row['numrows'],$_SERVER['PHP_SELF']);
echo $page->getPagination();
?>
ลองดู มัน error ไหม
ข้อสำคัญ อย่าลืม include class มานะครับ
require_once 'class.pagination.php';
Date :
2009-07-21 11:03:08
By :
danya
ขอไฟล์ 'class.pagination.php' หน่อยสิครับ
Date :
2009-07-21 11:22:45
By :
nakarin21928
เข้า URL ตามคุณ P@e คห.1 เลยครับ
Date :
2009-07-21 11:53:32
By :
danya
แจ๋มจริง ครับ
Date :
2009-07-21 12:47:29
By :
webmaster
พี่ค่ะ เราเอาไปแก้แล้วนะ แต่มันerrorว่า
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in c:\appserv\www\km\class.pagination.php on line 17 อ่ะค่ะ
Date :
2009-07-22 08:38:25
By :
paesalee
^
^
^
ใน class.pagination.php ห้ามทำการแก้ไขใดๆ นะครับ
Date :
2009-07-22 08:43:40
By :
danya
อืมไม่ได้แก้ไรเลยนะค่ะ
Date :
2009-07-22 09:04:26
By :
paesalee
สงสัยคุณ paesalee จะใช้ php4 ครับ
Date :
2009-07-22 10:27:18
By :
num
งั้น ลองเขียนไฟล์ class.pagnation.php
ตามนี้ครับ
Code (PHP)
<?php
/**
* @author Marosdee
* @copyright 2009
*/
class pagination
{
var $perPage = 10;
var $defaultPage = 1;
var $totalCount = 0;
var $pagination = '';
var $defaultLink = '';
var $maxPage = 1;
function pagination( $page, $perPage='', $totalCount='', $link='' )
{
if ( is_numeric($page) && $page > 0 ) $this->defaultPage = $page;
if ( is_numeric($perPage) && $perPage > 0 ) $this->perPage = $perPage;
if ( is_numeric($totalCount) && $totalCount > 0 ) $this->totalCount = $totalCount;
if ( $this->totalCount >= $this->perPage ) $this->maxPage = ceil( $this->totalCount / $this->perPage );
$this->defaultLink = $this->checkLink($link);
}
function getPagination()
{
if ( $this->defaultPage == 1 )
{
$this->pagination .= ' <span>First</span> ';
}
else
{
$this->pagination .= ' <a href="' . $this->defaultLink . 'page=1" >First</a> ';
$this->pagination .= ' <a href="' . $this->defaultLink . 'page=' . ( $this->defaultPage - 1 ) . '" >Back</a> ';
}
if ( $this->maxPage <= 9 )
{
for ( $i = 1; $i <= $this->maxPage; $i++ )
{
$this->pagination .= $this->_getPagination($i);
}
}
else
{
for ( $i = 1; $i <= $this->maxPage; $i++ )
{
if ( $i == 1 || $i <= 3 )
{
$this->pagination .= $this->_getPagination($i);
}
elseif ( ( $this->maxPage - $i ) == 0 || ( $this->maxPage - $i ) <= 2 )
{
$this->pagination .= $this->_getPagination($i);
}
elseif ( $this->defaultPage >= 6 || ( $this->maxPage - $this->defaultPage ) >= 6 )
{
if ( ( $this->defaultPage - $i ) < 2 && ( $this->defaultPage - $i ) > -2 )
$this->pagination .= $this->_getPagination($i);
elseif ( ( $this->defaultPage - $i ) < 5 && ( $this->defaultPage - $i ) > -5 )
$this->pagination .= '.';
}
}
}
if ( $this->defaultPage == $this->maxPage )
{
$this->pagination .= ' <span>Last</span> ';
}
else
{
$this->pagination .= ' <a href="' . $this->defaultLink . 'page=' . ( $this->defaultPage + 1 ) . '" >Next</a> ';
$this->pagination .= ' <a href="' . $this->defaultLink . 'page=' . $this->maxPage . '" >Last</a> ';
}
return <<<HTMLBLOCK
<table width="100%">
<tr>
<td align="center" width="99%">
<div class="pagination">{$this->pagination}</div>
</td>
</tr>
</table>
HTMLBLOCK;
}
function _getPagination($i)
{
if ( $this->defaultPage == $i )
{
return ' <span class="pagination_current">' . $i . '</span> ';
}
else
{
return ' <a href="' . $this->defaultLink . 'page=' . $i . '" class="pagination">' . $i . '</a> ';
}
}
function checkLink($link)
{
if ( strpos($link, '?') )
return $link . '&';
else
return $link . '?';
}
}
//$pag = new pagination(1,10,50);
//echo $pag->getPagination( $_GET['page'], 10, 600, '' );
?>
Date :
2009-07-22 11:29:13
By :
danya
Load balance : Server 03