• 締切済み

phpのwhile文で、ボタンをクリックすると次が表示されるようにしたい。

初めまして。PHP+MySQLの初心者ですが、昔BASICなどは組んで遊んでいました。 現在、Mysqlでプライベートで使うためのと練習として、住所録データーベースを作っているのですが、whele文で一覧表示させたときに、10項目ずつぐらい表示させて、何らかのリンクボタンクリックすると、また次の10項目ぐらいが表示されるようにしたいのです。 いろいろと検索してみたのですが、どうもわかりません。どのようなスクリプトを書けばよろしいのでしょうか?

  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>せっかく検索し終わって、while文で表示させている 再検索をするのがもっともオーバーヘッドが少ない処理だと思いますが・・・ ある程度SQL上でのキャッシュもききそうな気がしますし。 場合によってはセッションとからめて全結果をとっておくという 手もあるかもしれませんが標準的なやり方ではないと思います。 テストしながらチューニングしてみてください

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

いわゆるページャー機能ですね。 MySQLの場合はLIMITを使えばできそうです。 次へをおしたときにGETで何ページ目かをパラメータ渡しして あげてください

simuroro
質問者

補足

yambejpさん 早速にありがとうございます。 やはりLIMITを付けてオフセットを指定しての再検索ということになるのでしょうか? せっかく検索し終わって、while文で表示させているので、蛇口の口を閉めたりあけたりという感じで「クリックで」というわけには行かないのでしょうか?

関連するQ&A

  • ボタンをクリックでPHP文を実行

    ボタンをクリックしたときのみPHP文を実行したいのですが・・・ <input type="button" onClink="<?php~?>"> でいけるかと思ったのですが、 ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。 onClink="window.open(test.php)" という方法以外でお願いします。

    • ベストアンサー
    • PHP
  • リンク(URL)をクリックした後、PHPへ

    データベースにURLのリンク(<a href=>)を登録しています。 PHPを使って、そのデータ(リンク)を表示しています。 やりたいことは、 ブラウザからそのURLをクリックしたら、データベースに接続して、クリックしたことをカウントしたいと思います。 ランキングのためにカウント数をデータベースに保存したいです。 もちろん、カウントした後に、(ロスなく)リンク先のホームページを表示させたいと思います。 どのような方法をすればいいのでしょうか? ランキングは一般にどのように統計を取っているんでしょうか? どなたかご教授いただけると幸いです。 よろしくお願いします。 使用環境 ●Mac OSX(Tiger) ●Apache 1.3.33 ●PHP 4.4.4 ●MySQL 4.1.22

    • ベストアンサー
    • PHP
  • for文で表示する画像を10件づつ読み込みたい

    データベースに格納した数100件の画像をphpで一覧表示する際に、 一気に読み込まないで10件づつ表示するという形を取ろうとしています。 最初に10件の画像を表示しておいて、 下部にある「もっと見る」のリンクをクリックしたら次の10件を表示する、という機能を 実装したいのですが、良い方法はないでしょうか? 全画像を表示した際のソース $sql .= "SELECT ~"; $result = mysql_query("{$sql}"); $num = mysql_num_rows($result); for($i = 0; $i < $num; $i++){ $arr = mysql_fetch_array($result); <img src="<?php echo $arr[img_path]; ?>" /> }

    • ベストアンサー
    • PHP
  • ボタンクリック時にデータベースを呼び出す

    ボタンクリック時にデータベースを呼び出すことはできるでしょうか。 ボタンの処理は、 <SCRIPT language='VBScript'> <!--  ボタンの処理 '--> </SCRIPT> の中でできますが、データベースの処理は、 <%  データベースの処理 %> の中でしかできません。何か、方法はないでしょうか。 失礼いたします。

  • PHPの検索表示について

    PHP+Mysqlでプルダウンの項目を選択しただけで、別ウィンドウを開かずカラム内にDBから呼び出したデータを表示させることは可能でしょうか? プルダウンの項目をDBから呼び出して、項目選択後にボタンを押して表示することは出来たのですが、項目を選んだだけでできるのであれば、どうぞご指導ください。よろしくお願い致します。

    • 締切済み
    • PHP
  • PHPで、ボタンを押すと同じページに表示するには?

    PHPとDBを学習し始めて半月です。 わからないところができましたので質問いたします。 PHPでデータベースからデータを取り出し、表示するプログラムを作っています。 データベースには、「ID」と「PASS」、「時刻1」、「時刻2」が数人分登録されています。 PHPで、「渡されたIDとPASSのレコードにある時刻1と時刻2を表示する関数time()」をつくり、テストして正しく動作しました。 フォームからIDとPASSを送信してログインし、main.phpに入るところまで作りました。 main.phpで、「時刻を表示」というボタンを押すと、そのボタンの下に時刻1と時刻2を表示するようなプログラムを作りたいのですが、仕組みをどうすればいいのか悩んでいます。 主な疑問は、 ・ボタンのactionは何にすればいいのか ・同一ページに表示する方法 ・ボタンを押す~引数を渡す~関数を実行する、までの流れ です。 分かりにくかったら申し訳ありません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • photo.php?id=0001 このようなリンク形式で表示したい

    アルバムサイトをPHPで作成しています。 index.phpには風景写真のサムネイルをずらっとならべて、サムネイルをクリックすると写真の詳細ページ photo.php に移動するようにしたいと思っています。 その際には photo.php?id=0001 のようなリンク形式でそれぞれの写真の詳細ページを表示したいのですが、どのようにしたら可能でしょうか? また、写真の説明文や写真のファイル名などのデータはMySQLに保存してあります。 参考になるページやスクリプトがありましたら是非教えて頂けると助かります。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • mysql、phpを使ってデータがあるときだけ表示させたい

    mysql、phpを使ってデータがあるときだけ表示させたい 初歩的な質問で恐縮です。 mysql、phpを使ってデータがあるときだけ、それを表示させたいと思っています。 ------------------------------------------------------------------- データベース ↓↓ name        blog      クリリン    http://www.111.jp  ヤムチャ    http://www.222.jp ブルマ ------------------------------------------------------------------- ------------------------------------------------------------------- 表示させたいこと ↓↓ クリリン  クリリン公式ブログ(リンク) ヤムチャ  ヤムチャ公式ブログ(リンク) ブルマ ------------------------------------------------------------------- ------------------------------------------------------------------- 実際にソース組んでみたやつ (何も出てこなかった。。クリリンの場合) $blog_sql = "select blog from ****"; $res = mysql_query($blog_sql); $blog = mysql_result($res,0); if ($blog > 0 ) { echo "<p><a href=\"$blog\">クリリン公式ブログ</a></p>"; } ------------------------------------------------------------------- です。 ソースの部分は若干はしょってありますが、 ifを使わないでやるとちゃんと表示されるので、細かいところは問題ないはずです。 ただ、ifを使わないとブルマの項目にも「ブルマ公式ブログ」とリンクURLが入っていない状態で出てしまうので、ブログURLが入っていないものを表示させたくない、というものです。 何かご不明な点などあればおっしゃってください! よろしくお願いします!

    • ベストアンサー
    • MySQL
  • ボタンのクリック数を合計保存するPHPプログラム

    サイト訪問者が任意でボタンをクリックしてくれた数をカウントし、合計にするPHPをどなたか教えていただけないでしょうか。 (PHPをはじめたばかりです、よろしくお願いいたします。) index.phpのボタンをクリックすると、クリック回数をnumber.phpに上書き保存し、更にクリックされたら新しくクリックされた回数+number.phpの数の合計を上書きする、というスクリプトを書こうとしています。 index.php ここから---------------------------------------- <html> <body> <form action="index.php" method="get"> <input type="submit" value="クリック"> 合計<input type="text" name="munber" value="<?php $file = "munber.php"; @readfile($file);?> "> </form> </body> </html> index.php ここまで---------------------------------------- number.phpは単に数が一行あるだけです。(例として 5 ) 上記のindex.phpでは、ただボタンがあり、ただnumber.phpの数(5)を表示しているだけで、足し算は行われません。(画像参照) これをどのように書き換えると、ボタンをクリックしたらnumber.php + 1 を行い、number.phpの値も書き換える、というプログラムになるでしょうか。 ※アクセス解析ではないので、IPやリファラなどは関係なく、(誰が何回でも)ボタンをクリックした回数を単純にカウントする数式が欲しいです。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのINTの表示について

    現在PHPを独学で学んでいる者です。 MYSQLのデータベースにIDとして数字を1~1000まで登録しているのですが、 PHPで出力した際になぜか1~9はちゃんと表示され、 10は1 11は1 12は1 20は2 21は2 30は3 31は3 というように、数値の先頭だけが表示されます。 データベースではきちんと1~1000まで表示されています。 どなたかこの原因に心当たりある方いませんか? 回答お待ちしております。

    • 締切済み
    • PHP

専門家に質問してみよう