• ベストアンサー

PHPでページリンク表示方法

ズバリこの教えてgooの右下にある 「1|2|3|/3項」 のようなリンクページのPHPロジックを教えていただけないでしょうか。

  • fm0606
  • お礼率13% (100/761)
  • PHP
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • coco1
  • ベストアンサー率25% (323/1260)
回答No.3

すみません、ちょっと漏れがありました。 "select id, name from member limit".($pn-1)*10.",".$ln; として、pnを十倍しなければなりませんねm(__)m 変数は、事前に宣言する必要もなく、必要になったところで記述すればよいのです。 あと、"<a href=honyarara.php?$pn=".$pn.">".$pd のところは "<a href=honyarara.php?pn=".$pn.">".$pd でした。重ね重ねm(__)m

その他の回答 (2)

回答No.2

「PHPロジック」とか「perlでは」とか、そういうものとは離れて考えれば、答えは自ずから見つかると思いますが? 例えば、データが99件あり10件ずつ表示するには、一つ前のデータを表示するためには、 99-10=89、以下同様に、 99-10*2=79 99-10*3=69 というふうに開始番号が求まりますので、そこから10件分繰り返します。 一番最後はきっちり10件あるとは限らないので少し工夫が必要かも分かりません。これもプログラムとは離れて考えてください。 あとは、実際のプログラムを作るだけです。この程度はやさしいですが、もっと複雑なときにはマニュアルで使えそうな関数を調べ、一つで無理ならいろいろ組み合わせてプログラミングします。 右下のところにマウスをあてて下のステータスエリアの表示をみれば納得できると思いますよ。

  • coco1
  • ベストアンサー率25% (323/1260)
回答No.1

phpとmysqlなど一部のデータベースを組み合わせるとき、select文に表示行数の制約を加えることができます。 例えば、 select id, name from member limit 0,10 とすると、頭から10行を表示する、という意味です。 この0の部分を10、20と移動することにより、表示を開始するレコード番号を代えることができます。 さて、該当レコード数をcnt、一度に表示する行数をlnとすると、表示に必要なページ数pg=int(cnt/ln)となります。表示させたいページ番号はpn、その画面上の表示をpdとすると、先のクエリは次のように書き直せます。 "select id, name from member limit".$pn-1.",".$ln; で、リンクですが、$pnの部分にページ番号を代入してやればよいのですから、 "<a href=honyarara.php?$pn=".$pn.">".$pd といった形になります。 phpの文法については割愛しますが、不明な点はご質問下さい。

fm0606
質問者

補足

◎セレクト文で 「LIMIT 0,10」は 「LIMIT 10 OFFSET 0」のことでしょうか? ◎pg=int(cnt/ln)とあるのですが$pn、$pdはどこからもってきた変数でしょうか? ◎"select id, name from member limit".$pn-1.",".$ln; では一つずつしか変動しないのではないでしょうか?

関連するQ&A

  • リンクのページで○○hit!と表示する方法

    gooの簡単ホームページで作ったサイトのリンクページにはそこからアクセスした数をカウントして○○hit!と表示されています。 あれを私のホームページ(gooではないのですが・・・)でもやりたいのですが、どうやったらできるでしょうか?できるかできないかだけでも教えて欲しいです。できれば無料でやりたいです。お願いします。

  • PHPページによる相互リンク申込み

    当方はHTMLだけでページを作っていますが、 時々、相互リンクでPHPの拡張子で作られた 相互リンクぺーじからのサイトによる相互リンク申込みがあります。 リンクされればPHPのサイトは効果はあるかもしれませんが、 HTMLページ側のサイトにとってはメリットはあるのでしょうか? SEO的にHTML以外は意味がないと思っているのですが、 現在はどんなものなのでしょうか? お手数ですが、よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • このページは、どこからリンクしているのでしょうか?

    教えて!gooとOKWaveの関係について 分かりやすく説明してあるページがあるのですが↓ http://oshiete.goo.ne.jp/ask/partner_info.html このページは、どこからたどっていけば見ることができるのでしょうか? 自分がこのページを知ったのは、この質問を見たからなんですが どこのページからリンクしているのかを見つけることはできませんでした。 「OKWave」と「教えて!goo」は同じなのですか?↓ http://oshiete1.goo.ne.jp/qa3079895.html

  • phpファイルで"?"と"&"を含むリンクが張れない

    a.phpでphpロジック外部に書いたHTMLリンクタグ <a href ="http://aaa.**.jp/bbb.php?id=231fa&pass=1">リンク</a> がブラウザに表示できません。 "?"と"&"と除いた <a href ="http://aaa.**.jp/bbb.php">リンク</a> はもちろんきちんと表示できるのですが。。 "&"を"&amp;"と変更してもだめでした。 "?"の変換文字コードはないみたいですし。。。 どなたかご教授ください。 宜しくお願いします。

    • 締切済み
    • PHP
  • ***.php?1 等というリンクをクリックすると、ページが自動的に生成されるPHP

    http://XXXXX.com/****.php?1 http://XXXXX.com/****.php?2 ↓ http://XXXXX.com/****.php?50 などというリンクをクリックすると、外部のファイルの一部分を読み込み、 ページに反映させてページを自動的に生成する方法を教えていただけない でしょうか? 急遽、ページのコンテンツの一部分がすべて異なるページを50枚ほど作ら なくてはならなくなってしまい、PHPで動的に作成出来ないものかと思っ てのことでした。 PHPはほぼ初心者で、本屋を回ってPHPの書籍を読みあさってみたのです が、どのような手法を用いているのか見当もつかず、困っております・・・ どなたかご教授いただけないでしょうか? (検索語句や、書籍を探す際のヒントをいただけるだけでも有り難いです)

    • 締切済み
    • PHP
  • PHPでWEBページの表示切り替え

    PHPの初心者です。 PHPでWebページをフェードイン・フェードアウトで表示することは可能ですか? ナビゲーションボタンを押すと現在のページがフェードアウトするのと同時にリンク先のページがフェードインするような感じにしたいのですが、javaではやりたくないんです。滑らかさとスピードをコントロールできると嬉しいんですが。 因にPHPの基本的な質問ですが、PHPはjavaのように外部ファイルにしてhtmlで読み込む形式にはできないのでしょうか?htmlはできるだけキレイにしておきたいのですが、、、 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPで同一ページ内でページの読み込みについて

    ナビゲーションから、リンクをクリックすると、ページが読み込まれるプログラムを作っているのですが、どのようにすればよいのでしょか?さっぱりわかりません。アドバイスお願いします。 ↓参考 //ナビゲーション <ul> <li><a href="#">リンク1</a></li> <li><a href="#">リンク2</a></li> <li><a href="#">リンク3</a></li> <li><a href="#">リンク4</a></li> </ul> //リンク1がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク2がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク3がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク4がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> ↓イメージ図 index.php内でページの読み込み --------------------------------- | ヘッダー | --------------------------------- --------------------------------- |リンク1|リンク2|リンク3|リンク4| ---------------------------------- ここでページの読み込み --------------------------------- | フッター | --------------------------------- 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 企業のページをリンク

    最近ブログをやりはじめたのですが 企業のページをリンクするのはやってもいいこと なのでしょうか? たとえばgooのページなどをリンクしてもいいのでしょうか?

  • 例●●.php#00pリロードページ内リンク

    すいません。質問させてください。 XAMPP Windows 1.7.1を使用しイントラネット内で、 データベースを作っています。 ブラウザでInternet Explorer 8.0を使用しています。 PHPで作られてるページで、 ページ内のform(POST)でテータの受け渡しもしています。 私としてはデータを更新したときにリロード対策を兼ねて下記のように自身のページに飛ばして変更箇所にページ内リンクで移動をしたいのですがうまく動作しません。 実行例: header("Location: http://127.0.0.1/index.php#00p"); という風にしてリロードすると http://127.0.0.1/index.php までしか認識せず#00pが削られページ内リンクがされません。 データを更新したときにリロード対策を兼ねて上記のように自身のページに飛ばして変更箇所にページ内リンクで移動をしたいのですがいい方法があればお教えください。 ヒントでもいいのでよろしくお願いします。 言葉足らずのところがあるかもしれませんがよろしくお願いします。

    • ベストアンサー
    • PHP
  • php ログインID別 ページ表示

    お世話になっております。 PHP初心者です。 どなたかおわかりの方がいらっしゃいましたら、ご教授お願いいたします。 http://oshiete1.goo.ne.jp/qa5743557.html を拝見させていただいたのですが、上記のURLの記述にてログインIDによるページを変更するのはどうしたらよろしいのでしょうか? 例↓ NO1 ID:abc PW:1234 name:山田 NO2 ID:def PW:5678 name:佐藤 とDBに登録していたとします。 両方のIDとPWでログインしたときはmember.phpが表示される。 ここでIDによってmember.phpに表示されるリンクがかわる。 NO1でログインした場合member.phpにはcontents.phpあてのリンクが表示されている。 NO2でログインした場合はmemebr.phpにはcontents.phpとcontents2.phpあてのリンクが表示されるようにするにはどうしたらよろしいでしょうか? 上記のURLを参考にしたいので宜しくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう