## PEAR DB_Pager Class »ç¿ë¹ý
¡á DB_Pager::getData($from, $limit, $numrows, $maxpages)
ÀÇ Çü½Ä°ú ¹Ýȯ°ªÀº ´ÙÀ½°ú °°½À´Ï´Ù.
Çü½Ä
int $from ½ÃÀÛ ÆäÀÌÁö
int $limit ÆäÀÌÁö´ç °Ô½Ã¹°ÀÇ °¹¼ö
int $numrows Äõ¸®ÇÑ °¹¼ö
int $maxpages ȸ鿡 Ãâ·ÂÇÒ ÆäÀÌÁö °¹¼ö (»ý·«ÇÏ¸é ¸ðµç ÆäÀÌÁö)
¹Ýȯ°ª
array(
'current' => X, // ÇöÁ¦ ÆäÀÌÁö
'numrows' => X, // Äõ¸®ÇÑ °¹¼ö
'next' => X, // ´ÙÀ½ ÆäÀÌÁö from °ª
'prev' => X, // ÀÌÀü ÆäÀÌÁö from °ª
'remain' => X, // number of results remaning *in next page*
'numpages' => X, // ÀüÆä ÆäÀÌÁö °ª
'from' => X, // Äõ¸®ÇÑ ½ÃÀÛ ÆäÀÌÁö °ª
'to' => X, // Äõ¸®ÇÑ ¸¶Áö¸· ÆäÀÌÁö °ª
'limit' => X, // ÆäÀÌÁö´ç °Ô½Ã¹°ÀÇ °¹¼ö
'maxpages' => X, // ȸ鿡 Ãâ·ÂÇÒ ÆäÀÌÁö °¹¼ö
'firstpage' => X, // óÀ½ ÆäÀÌÁöÀÇ from °ª
'lastpage' => X, // ¸¶Áö¸· ÆäÀÌÁöÀÇ from °ª
'pages' =>
array( // Ãâ·ÂÇÒ ÆäÀÌÁö
1 => X,
2 => X,
3 => X
)
);
ÀÚ ±×·³ °£´ÜÇÑ ¿¹¸¦ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
µ¥ÀÌÅÍ´Â ¿À´ÃÀÇ ¼Ó´ãÀ» »ç¿ëÇÏ¿´½À´Ï´Ù.
config.php
// config.php ȯ°æ¼³Á¤
// µ¥ÀÌÅͺ£À̽º Á¤º¸ ¼³Á¤
DEFINE("DB_TYPE", "mysql");
DEFINE("DB_HOST", "localhost");
DEFINE("DB_PORT", "3306");
DEFINE("DB_USER", "root");
DEFINE("DB_PASS", "apmsetup");
DEFINE("DB_NAME", "test");
// PEAR DB_Pager ·Îµå
include_once "DB/Pager.php";
// DNS ¹®ÀÚ¿ ¼³Á¤
$dsn_str = DB_TYPE . "://" . DB_USER . ":" . DB_PASS . "@" . DB_HOST . ":" . DB_PORT . "/" . DB_NAME;
// µðºñ Á¢¼Ó
$db = DB::connect($dsn_str);
if(DB::isError($db))
{
// Á¢¼Ó ¿¡·¯ Ç¥½Ã
echo $dsn_str . " \n";
echo $db->getMessage();
exit;
}
?>
today_proverb.php
// ȯ°æ¼³Á¤
include "./config.php";
// Ãâ·ÂÇÒ ÆäÀÌÁö
if( empty($from) ) $from = 0;
// ÆäÀÌÁö´ç °Ô½Ã¹°ÀÇ °¹¼ö
$limit = 5;
// Äõ¸®ÇÑ °¹¼ö
$numrows = 0;
// ȸ鿡 Ãâ·ÂÇÒ ÆäÀÌÁö °¹¼ö
$maxpages = 10;
// ÃÑ °¹¼ö ±¸Çϱâ
$numrows = $db->getOne(" SELECT COUNT(num) FROM today_proverb ");
// LIMIT Äõ¸®
$sql_str = " SELECT * FROM today_proverb ORDER BY num DESC ";
$result = $db->limitQuery($sql_str, $from, $limit);
if(DB::isError($db))
{
// ¿¡·¯ Ç¥½Ã
echo $db->getMessage();
exit;
}
// µ¥ÀÌÅͰ¡ ÀÖ³ª?
if($result->numRows() < 1)
{
echo "³»¿ë ¾øÀ½";
exit;
}
// DB_Pager::getData
$pager_data = DB_Pager::getData($from, $limit, $numrows, $maxpages);
if(DB::isError($db))
{
// ¿¡·¯ Ç¥½Ã
echo $db->getMessage();
exit;
}
echo "¸ðµÎ :: " . $pager_data[numrows];
echo " ";
echo "ÇöÁ¦ :: " . $pager_data[current] . " / " . $pager_data[numpages];
echo " ";
echo " ";
// ¸®½ºÆ® Ãâ·Â
while($info = $result->fetchRow(DB_FETCHMODE_ASSOC))
{
echo "¿À´ÃÀÇ ¼Ó´ã :: [" . $info[num] . "] - " . $info[content];
echo " ";
}
// ÀÌÀü ÆäÀÌÁö
// $pager_data[prev] °¡ null ÀÌ ¾Æ´Ï¶ó¸é ÀÌÀü ÆäÀÌÁö°¡ ÀÖÀ½
if( $pager_data[prev] != null )
echo "[<< ÀÌÀü]";
// ÆäÀÌÁö ¸®½ºÆ® Ãâ·Â
foreach ($pager_data[pages] as $page_str => $from_str)
{
// ¸¸¾à $from °ú $from_str ÀÌ °°´Ù¸é ÇöÁ¦ ÆäÀÌÁö
if( $from == $from_str )
echo "" . $page_str . " ";
else
echo "" . $page_str . " ";
}
// ´ÙÀ½ ÆäÀÌÁö
// $pager_data[next] °¡ null ÀÌ ¾Æ´Ï¶ó¸é ´ÙÀ½ ÆäÀÌÁö°¡ ÀÖÀ½
if( $pager_data[next] != null )
echo "[´ÙÀ½ >>]";
?>
Ãâ·Â °á°ú¹°
Ç® ¼Ò½º ´Ù¿î·Îµå :: http://www.apmsetup.com/PHP/today_proverb/today_proverb.zip
|