(PHP MySQL) データベースにあるデータをPHPで表示する際、大量な為10レコードずつ表示しています。


$page = ceil($CountRe/10);
for ($i=1;$i<= $page;$i++){
echo ”<a href=¥”./db_show.php?number=”.$i.”¥”>”.$i.”</a>”;
}
な感じです。しかしこの場合、1ページ目でも <a href=”db_show.php?number=1>1</a> となってします。

これを例えば2ページ目なら <a href=”...php?number=1”>1</a> 2 <a href=”..?number=3”>3</a> .... のようにリンクを取り外すことはできないでしょうか?

Pearなどの外部ファイルを使用しないプログラムのソースなどをお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/28 22:03:38
  • 終了:--

回答(2件)

id:hive7134 No.1

hive7134回答回数167ベストアンサー獲得回数162006/02/28 22:27:57

ポイント25pt

こんな感じでしょうか?


$page = ceil($CountRe/10);

//現在のページ番号を取得

$currentPage =

array_key_exists(’number’,$_GET)

&& $_GET[’number’] > 0

&& $_GET[’number’] <= $page ? intval($_GET[’number’]) : 1;

for ($i=1;$i<= $page;$i++){

//現在のページ番号と一致する場合のみ、タグを付けないで出力。

echo $currentPage===$i ? $i : ”<a href=¥”./db_show.php?number=”.$i.”¥”>”.$i.”</a>”;

}

id:esecua

ありがとうございます。

これでOKなのですが、リンクをはずす代わりにで囲むにはどうしたらよいのでしょうか?

2006/02/28 22:41:39
id:hive7134 No.2

hive7134回答回数167ベストアンサー獲得回数162006/02/28 23:05:29

ポイント25pt

2度目の回答なので、残念ながらこれ以降お答えできません。あらかじめご了承ください。


先ほどの例で言うと下から二行目の、

echo $currentPage===$i ? 【この部分をお好きな形にカスタマイズしてください。】 : ”<a href=¥”./db_show.php?number=”.$i.”¥”>”.$i.”</a>”;


具体的には、spanで囲む場合、

echo $currentPage===$i ? ”<span>”.$i.”</span>” : ”<a href=¥”./db_show.php?number=”.$i.”¥”>”.$i.”</a>”;

といった感じでしょうか。


ところでダブルクォーテーション「”」の内部では、変数($iなど)は展開されますので、


echo $currentPage===$i ? ”<span>$i</span>” : ”<a href=¥”./db_show.php?number=$i¥”>$i</a>”;

などとした方がすっきりして良いかもしれませんね。


ちなみにこの一行は、

if($currentPage===$i) {echo ”<span>$i</span>”;}

else {echo ”<a href=¥”./db_show.php?number=$i¥”>$i</a>”;}

と同じ意味です。念のため。

id:esecua

ありがとうございます。

2006/02/28 23:19:20

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません