人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ページングについて

<?php
$countRe=$num_rows;
pager($_GET["pid"],$countRe);
function pager($pid,$countRe){
if($pid=="") $pid=1;

$maxPage=ceil($countRe/10);
if($maxPage==1 or $maxPage<$pid) return false;

if($pid>10){
$startPage=$pid-9;
$startMore="<a href=\"$PHP_SELF?pid=".($startPage -1)."\">&lt; PREV</a>";
}else{
$startPage=1;
}

if($pid+10<$maxPage){
$endPage=$pid+10;
$endMore=" <a href=\"$PHP_SELF?pid=".($endPage+1)."\">NEXT &gt;</a>";
}else{
$endPage=$maxPage;
}
$page_footer="";
for($i=$startPage;$i<=$endPage;$i++){
$page_footer.=" ".(($pid==$i)?"<span style='font-Size:120%'>$i</span>":"<a href=\"$PHP_SELF?pid=$i\">$i</a>");
}
$page_footer=$startMore.$page_footer.$endMore;
print $page_footer."<br>";
}

?>

このソースでページングしています。$pidが1ページの時はLIMIT 0.10

$pidが2ページの時はLIMIT 10.10

$pidが3ページの時はLIMIT 20.10
としたいのですが、SELECT文はどうしたら良いですか??

●質問者: rogotaro
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● beli

$pidが1ページの時はLIMIT 0.10

$pidが2ページの時はLIMIT 10.10

$pidが3ページの時はLIMIT 20.10


ページ毎に変化するのはLIMIT句の「0」「10」「20」の箇所ですので

その部分を適当な変数$startに置き換えます。

LIMIT $start,10


$pid = 1の時 $start=0

$pid = 2の時 $start=10

$pid = 3の時 $start=20

となれば良い訳です。


でまぁ、ちょっと説明は手を抜きますが

$pidが1増える事に10数字が増えておりますので、

$pidの増加数掛ける10でいくつ増やせば良いのか判るので

下の文でstartの値が求められます。

$start = 10 * ($pid -1);

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ