• 締切済み

ページングについて

$countRe=$num_rows; pager($_GET["id"],$countRe); function pager($id,$countRe){ if($id=="") $id=1; $maxPage=ceil($countRe/5); if($maxPage==1 or $maxPage<$id) return false; if($id>6){ $startPage=$id-5; $startMore="<a href=\"$PHP_SELF?id=".($startPage -1)."\">&lt; PREV</a>"; }else{ $startPage=1; } if($id+5<$maxPage){ $endPage=$id+5; $endMore=" <a href=\"$PHP_SELF?id=".($endPage+1)."\">NEXT &gt;</a>"; }else{ $endPage=$maxPage; } $page_footer=""; for($i=$startPage;$i<=$endPage;$i++){ $page_footer.=" ".(($id==$i)?"<span style='font-Size:120%'>$i</span>":"<a href=\"$PHP_SELF?id=$i\">$i</a>"); } $page_footer=$startMore.$page_footer.$endMore; print $page_footer."<br>"; } 現在このようなコードでページングしています。 該当内容が10件未満ならリンクは出ず、10件以上なら「12」とリンクが出てくれるのは良いのですが、 1ページに11件表示され2ページにも同じ内容が11件表示されてしまいます。どのようにしたら、1ページ目で10件、2ページ目で1件表示してくれるのでしょうか??

みんなの回答

noname#158634
noname#158634
回答No.3

つーかお前だったのなgagapadaことocd1987君。 わかったからにはもう相手しないからよろしく。

noname#158634
noname#158634
回答No.2

いえ、私はその部分で値を「確認してください」と言っているんですが。1ページ目の$startPageと$endPageの値は何になるのが正しいでしょうか?何になると思っていますか?2ページ目では? よくわからないうちに変数と分岐を多用したプログラムを書くから混乱するんです。「1ページに11件表示され2ページにも同じ内容が11件表示されてしま」う理由は$startPageと$endPageにあるのは自明なのですが、それがわかってないんですよね? そもそもあっちからこっちまで変数名の意味と中身の意味が合ってないのはとりあえず無視しておいてあげますが、まずはもっと短くて単純なものを作って、それを拡張する形でやった方がいいんじゃないでしょうか。

drmada
質問者

補足

おはようございます。このソースは私が作成したのではなく、ネットで評価の高かったソースをそのまま使わせて頂いてます。どう改変したら良いか解りません。もう少しヒント頂けないでしょうか。よろしくお願いいたします。

noname#158634
noname#158634
回答No.1

>for($i=$startPage;$i<=$endPage;$i++){ $startPageと$endPageの値を確認すればわかります。

drmada
質問者

補足

LIMITで指定するんだと思いますが方法が解りません。よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう