便利な関数pagerをご紹介します。
どうしてもページング機能となるとphpで記述するのは大変、次へや前へというだけの者ならともかく
1 2 3 4 ・・・と数字で表示する場合だとかなり面倒になりそうなので簡単に実装できるpearライブラリーの
pagerが役に立ちます!
スポンサーリンク
fetchAll(PDO::FETCH_ASSOC);
//データ数を取得する
$total = count($list);
//ページャーライブラリに渡す設定(パラメーター
$page=array(
"itemData"=>$list, //アイテムの配列です。
"totalItems"=>$total, //合計アイテム数
"perPage"=>$pagelength, //1ページあたりの表示数
"mode"=>"Jumping",
"linkClass" => "list",
"curPageLinkClassName" => "list",
"altFirst"=>"First", //以下、文字表示設定 1ページ目のalt表示
"altPrev"=>"", //前のalt
'prevImg'=>"<< 前へ", //前へ の文字表示
"altNext"=>"", //次へ のalt
"nextImg"=>"次へ >>", //次へ の文字表示
"altLast"=>"Last", //ラストのalt表示
"altPage"=>"",
"separator"=>" ", //数字と数字の間の文字
"append"=>1,
"urlVar"=>"page",//get属性
);
//Pagerに設定した項目を読み込ませます
$pager= Pager::factory($page);
//現在のページ配列(戻り値)を取得
$data_array['data'] = $pager->getPageData();
//ページ遷移のリンクリストを取得
$data_array['links'] = $pager->links;
$data_array['total'] = $pager->numItems();
//データ配列を返す
return $data_array;
}
//条件を付加したデータを取得する
$sql = $pdo->query("SELECT * FROM db_data ORDER BY post_date DESC");
$data = pager_search ($sql);
//登録データを出力
foreach ($data['data'] as $row){
echo $row['id'];
echo $row['name'];
}
echo '';
echo $data['links'];
echo '';
?>