<?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)."\">< PREV</a>";
}else{
$startPage=1;
}
if($pid+10<$maxPage){
$endPage=$pid+10;
$endMore=" <a href=\"$PHP_SELF?pid=".($endPage+1)."\">NEXT ></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文はどうしたら良いですか??
$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件)