$pid = $_GET['pid'];
$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>";
}
?>
このようにしています。現在は、該当データが11件あれば、[1,2]リンクは現れますが、1をクリックしたら11件、2をクリックしても11件表示されます。10件、1件と表示させたいです。方法をどなたか教えていただけないでしょうか??
また、上記のようなコードだとSELECT文はどうすれば良いでしょうか?
http://q.hatena.ne.jp/1319937163#a1113991
SQLは下記2種類実施する必要があります。
1 該当データの全件数(11件)を取得する(ページング作成のため)
2 ページに表示するデータを取得する(1ページ目10件、2ページ目1件)
質問にある部分ではこれまでのSQL文を使ってください。これが上記1です。
http://q.hatena.ne.jp/1319937163#c223162 はこの質問にない、ページ内容を表示するコードの部分で使ってください。これが上記2です。
つまり
または
としてください。
分からなければ、他の部分のコードもどこかで開示してください。
あと、 http://q.hatena.ne.jp/1319887952 この質問はもう必要ないですよね?
終了しておいてください。
コメント(4件)
これで10件表示出来たとありますが、違うのですか?
10件表示させたいのではないのですか?
なぜ表示もデータベースのコードもないのですか?
なぜ同じ質問を何度もするのですか?
説明をする代わりに、そのまま同じ様に動くコードを書いてもいいです。
ちなみに http://d.hatena.ne.jp/rogotaro/ で書けるブログにコードを書くと分かりやすいです。
>|php|
<?php
$pid = $_GET['pid'];
...
}
?>
||<
の様に書いてみてください。
<?php
$pid = $_GET['pid'];
...
}
?>
||<
の様に書いてみてください
ちょっと意味が理解できません。どういう意味ですか??
http://hatenadiary.g.hatena.ne.jp/keyword/%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AA%E3%83%BC%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9
ここの「日記を書く」の所の「今日の日記のタイトルと文章を書いてみましょう。」の文章の書き方です。
見やすいソースコードが書けるので助かります。
あと、繰り返しなのですが、
http://q.hatena.ne.jp/1319937163#c223162
これで10件の表示となって解決ではないのですか?
なぜダメなのかが理解できません。
それらも含めたソースコードを示してもらえませんか?