*全件データを取得する場合 [#vaa12fc9]
小規模データベース向き

 $sql = 'SELECT * FROM table';
 $itemData = $mdb2->queryAll($sql);
 
 require_once('Pager.php');
 
 $extraVars = array(
     'F' => 'function'
   , 'A' => 'action'
 );
 $params = array(
       'perPage'     => 5
     , 'itemData'    => $itemData
     , 'importQuery' => FALSE
     , 'extraVars'   => $extraVars
 );
 $pager = Pager::factory($params);
 $data  = $pager->getPageData();
 $links = $pager->getLinks();

*全件数のみ取得し、後から必要データのみを取得する場合 [#pb651aec]
大規模データベース向き

 $sql = 'SELECT * FROM table';
 $res = $mdb2->query($sql);
 $total = $res->numRows();
 
 require_once('Pager.php');
 
 $extraVars = array(
     'F' => 'function'
   , 'A' => 'action'
 );
 $params = array(
       'perPage'     => 5
     , 'totalItems'  => $total
     , 'importQuery' => FALSE
     , 'extraVars'   => $extraVars
 );
 $pager = Pager::factory($params);
 list($from, $to) = $pager->getOffsetByPageId();
 $links = $pager->getLinks();
 
 $mdb2->setLimit($params['perPage'], $from - 1);
 $data = $mdb2->queryAll($sql);

*Rewriteしたりしている場合 [#ub37181e]

 $sql = 'SELECT * FROM table';
 $itemData = $mdb2->queryAll($sql);
 
 require_once('Pager.php');
 
 $params = array(
       'path'        => '/user/'.$user_id
     , 'append'      => FALSE
     , 'fileName'    => '?pageID=%d'
     , 'perPage'     => 5
     , 'itemData'    => $itemData
 );
 $pager = Pager::factory($params);
 $data  = $pager->getPageData();
 $links = $pager->getLinks();

全データ数
 $total   = $pager->numItems();

現在のページ
 $current = $pager->getCurrentPageID();

全ページ数
 $all     = $pager->numPages();


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS