• 締切済み

DB内のデータを指定した分のみ表示させたい

DB内に登録されている100個のデータを表示させたいです。 表示のさせ方は、1~100番目のデータそれぞれを別々にリンクして 例えば、58番目のリンクをクリックすると 58番目のデータが表示されるページに飛ぶようにしたいです。 1つ1つ手作業で、1番目のリンクはDB内の1番目のデータにリンクするようにHTMLで組むと 手間が大変なので、PHPで自動的にリンクするようにしたいです。 ちょっと説明がうまくできませんが 宜しくお願いします。

みんなの回答

  • tom951
  • ベストアンサー率30% (29/96)
回答No.4

まずDB側はLIMITを利用する。 ただし使用するDBによってはLIMITが使えないDBもある。

全文を見る
すると、全ての回答が全文表示されます。
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

「URLにリンクURLに付与させる方法」の意味があいまいでよくわかりません。 <a href="http://hoge.com/detail.php?id=1">リンク1</a> <a href="http://hoge.com/detail.php?id=2">リンク2</a> <a href="http://hoge.com/detail.php?id=3">リンク3</a> <a href="http://hoge.com/detail.php?id=4">リンク4</a> ...... <a href"http://hoge.com/detail.php?id=5">リンク100</a> と100個書くのが面倒だという意味でしょうか?

phptarou
質問者

お礼

ご回答ありがとうございます。 説明不足ですみません。 おっしゃる通りリンクを1つ1つ書いていくのが面倒なので 何か方法はないかと思っていました。

全文を見る
すると、全ての回答が全文表示されます。
noname#87667
noname#87667
回答No.2

>URLにリンクURLに付与させる方法をもう少し詳しく教えていただければと思います。 貴殿は「自力で調べる」という手段をなぜ取らないのでしょうか。厳しいようですが、この部分については練習問題として与えますので、自力で考えてください。 ヒント: DBからデータを引っ張り出してデータを表示することはできるのですよね? ということは、for文で100個のデータを表示するロジックはできているはずです。つまり、そのfor文で使う元ネタに・・・

phptarou
質問者

お礼

もちろんその手段をとったのですが、 自分の知識が乏しいせいか、適切なキーワードで検索できず 成果も挙げられなかったため質問させていただきました。 DBからデータを引っ張り出して表示させることは出来ます。 for文について調べてみます。ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。
noname#87667
noname#87667
回答No.1

オーソドックスなのは、auto incrementでユニークNoを付与して、それをリンクURLに付与することでしょうね。 e.g. http://hoge.com/detail.php?id=xxx たぶん他にも方法はあると思いますが、行き着くところはデータを一意に決定付けられるカラムを使うということになるでしょう。上記のauto incrememtによる自動付番はもっともポピュラーな例です。 余談ですが、テーブル設計をする際、使用の有無に関わらず、必ず連番を格納するカラムを作った方がよいです。データに一意性を持たせることができるため、今回のようなケースにも柔軟に対応できるので、今後の設計に役立ててください。

phptarou
質問者

お礼

ご回答ありがとうございます。 auto incrememtによる自動付番は行なっているのですが そこからどうやってリンクさせるのかいまいちわかりません。 http://hoge.com/detail.php?id=xxx このようにURLにリンクURLに付与させる方法をもう少し詳しく教えていただければと思います。 宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • DBのデータを表示させたい

    こんにちは PHPは今まで他人様の作成したスクリプトをそのまま使用したりちょこっと改造するだけでしたが、 現在必要としているスクリプトが探してもなさそうなので 自分で作成しようと決めて勉強を始めましたが どうしても悩んでいる部分があるのでご教授いただけると助かります。 環境は以下の通りです apache 1.3.37 PHP 5.25 MySQL 5.0 現在の状況なのですが `uid` mediumint(8) NOT NULL auto_increment, `user` varchar(25) NOT NULL, `pass` varchar(32) NOT NULL, `place` varchar(32), `sev` varchar(32), `date` varchar(25) NOT NULL, `regdate` datetime, `gate` varchar(25), `statue` varchar(25), PRIMARY KEY (`uid`), KEY `user` (`user`), KEY `date` (`date`), KEY `gate` (`gate`), KEY `statue` (`statue`) このようなテーブルが作成してありユーザーがフォームから登録したものをDBに保存していき、 1ページに数件分ずつの表示で何ページにもわたって 全件を表示するようなページをです。 フォームからDBへのデータの保存はできるようになりましたが 表示をする際に何件もの表示をするのにどういった手法で行うのがいいのかで悩んでいます。 現在は最新の1件だけ表示されるようなページになっています。 <?php include ("config.php"); $con = mysql_connect($dbhost, $dbuser, $dbpasswd); $selectdb = mysql_select_db($dbname, $con); $sql = "SELECT * FROM testdata ORDER BY regdate DESC"; $rst = mysql_query($sql, $con); $datanum = mysql_num_rows($rst); if ($datanum < 1) { print("データがありません。<br>\n"); print("登録は <a href=\"regist.php\">こちら</a> から"); mysql_close($con); exit; } $data = mysql_fetch_array($rst) ?> <table width="95%" border="0" cellspacing="1"> <tr> <td><table width="100%" border="0"> <tr <td colspan="6">登録情報</td> </tr> <tr> <td width="13%">登録者名</td> <td width="20%"> <?=$data['user']?> </td> <td width="13%">場所</td> <td width="20%"> <?=$data['place']?> </td> <td width="13%">サーバー</td> <td width="20%"> <?=$data['sev']?> </td> </tr> <tr> <td>登録日時</td> <td> <?=$data['regdate']?> </td> <td>日時</td> <td> <?=$data['date']?> </td> <td colspan="2">&nbsp;</td> </tr> </table></td> </tr> <tr> <td><table width="100%" border="0"> <tr> <td colspan="5">状態</td> </tr> <tr> <td width="16%">ゲート</td> <td width="30%"><?=$data['gate']?></td> <td>&nbsp;</td> <td width="16%">statue</td> <td width="30%"><?=$data['statue']?></td> </tr> </table></td> </tr> </table> DBから何件分もの表示をするにはDBのデータを連想配列にするのかなと思っているのですが いまいちどんな手法が良いのかわかりません。よろしければご教授くださいませ。

    • ベストアンサー
    • PHP
  • データをDBからひっぱってきて、WEB画面にあいうえお順に表示させたい

    先ほど質問させていただきましたが、 誤って締め切ってしまいましたので再度質問させていただきます。 PHPを使って、データをDBからひっぱってきて、 WEB画面にあいうえお順に表示させたいと考えています。 さらに、「あ」のボタンを作成し、クリックすると 「あ」行のデータを表示、「か」のボタンを作成し、クリックすると 「か」行のデータを表示…と考えています。 このようにプログラムすることは可能でしょうか。 DBはPostgreSQLを使用しています。 先週からPHPをはじめたばかりでよくわかっていません。 どなたか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPでフォームからデータDBに書き込むサンプル

    PHPで、フォームから入力されたデータをMySQLのDBへ書きこみ、次画面でHTML内に入力されたデータ表示するようなサンプルプログラム等、どこかに公開されてないでしょうか。 若しくは、ご存知の方、教えて頂ければ幸いです。 1、フォームへデータ入力 2、サブミットを押す。 3、DBへデータを書き込み。 4、HTML内にデータを表示する。 というような流れ。

    • ベストアンサー
    • PHP
  • PHPのプルダウンメニューにDBのデータを入れたいのですが。

    初めて質問させていただきます。 PHPとMySQLを使って、とあるwebページを作成したいのですが、 DB内のあるテーブルのデータを、PHPの配列に格納し、その内容をプルダウンメニューに反映させたいのです。 データベース内のテーブルの内容(例)は以下のとおり。 テーブル名:sample | 番 | 時 | | 号 | 間 | ------- | 1 | 朝 | | 2 | 昼 | | 3 | 夜 | ------- プルダウンメニューに表示させたい内容は、この場合では「時間」です。  ---- |朝 ▼|   「▼」をクリックすると  ---- ↓  ---- |朝 ▼| |昼   |   このように表示される。 |夜   |   内容はDBから取ってきたもの。  ---- このように表示したいのです。 どなたかPHPに詳しい方、よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでデータをDBからひっぱってきて、WEB画面にあいうえお順に表示させたい

    PHPを使って、データをDBからひっぱってきて、 WEB画面にあいうえお順に表示させたいと考えています。 さらに、「あ」のボタンを作成し、クリックすると 「あ」行のデータを表示、「か」のボタンを作成し、クリックすると 「か」行のデータを表示…と考えています。 このようにプログラムすることは可能でしょうか。 先週からPHPをはじめたばかりでよくわかっていません。 どなたか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHPでDBからデータを抽出してHTMLで表示

    こんにちは。 PHP初心者のものです。 クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上

    • 締切済み
    • PHP
  • DBからSelectしたレコードのデータをブラウザに一覧表示したい

    PHPでDB(ORACLE)に接続し、SQLを発行しSelectした複数行のレコードのデータをブラウザに返して一覧表示したいです。 PHPで、DB(ORACLE)に接続し、SQLを発行させるのはわかります。 知りたいと思っている部分は、ブラウザ上に複数行のレコードのデータを上手く反映させるところです。 LOOPとかでHTMLを書き出すのだと思うのですが、もっとスマートに行えるような手法をご存知の方がいましたら、ご教授下さいませ。 今まで、VBAで同様なことを行っていたのですが、EXCELにはあらかじめセルが用意されていることもあってセルに返せば済んでいたので表示部分はほとんど考えなくて、ある意味簡単でした。 しかし、PHPでブラウザに表示させる際には、セルのようなものはないので、tableタグなど駆使してHTMLを吐き出すしかないのかなぁと思っていますが、もっとスマートにブラウザ表示させられる方法があればと思っている次第です。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPでDBからデータを抽出してHTMLで表示する

    クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上

    • ベストアンサー
    • HTML
  • VBSCRIPTで、DB2のデーターベースに接続して、データーを取得し

    VBSCRIPTで、DB2のデーターベースに接続して、データーを取得しCSVファイルに保存する処理を作っています。そのときに、その経過をinternet explorerに表示しています。そのIEの画面上で、ろーかるに保存したCSVファイルへのリンクを作成して、それをクリックするとファイルが開くようにしたいのですが、そのリンクのHTMLの書き方がわかりません。 基本できな事とは思いますが、誰か教えていただけませんか? 宜しく御願いします。

    • ベストアンサー
    • HTML
  • 効率の良いDBプログラミング

    PHP+MySQLでサイトを構築しているのですが、DBサーバへの接続/切断について分からない事があります。 現在作成中のサイトでは、1ページにDBデータを利用している箇所が複数あります。 DBを利用する部分は、個別にパッケージしているので、使いたい場所でincludeする様にしているのですが、個々のパッケージ内容で、DBサーバへのconnectを行っておらず、ページを読み込む時に、先頭でDBサーバへ接続する様に宣言して、ページの最後で切断しています。 <? include("config.php"); ?> ←DBへ接続 <HTML> <HEAD></HEAD> <BODY> <? include("counter.php"); ?> DBカウンタ ~中略~ <? include("graph.php"); ?> グラフ表示 </BODY> <HTML> 切断 こうする事で、DBへの接続を1回で済ましているのですが、この方法が最良なのかどうかわかりません。 やはり、個々のパッケージで接続/切断した方が効率が良いのでしょうか? 例えば、1ページの表示に時間がかかる様なページだと、接続から切断まで時間がかかると思います。それであれば、複数回接続でも1接続あたりの時間が短い方が効率が良いのではないかと思いました。 1ページを表示するのに、複数回接続するのはごく一般的な事なのでしょうか?

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • 8月に左耳が外耳炎になり、点耳薬と抗生物質を1週間。耳鼻咽喉科の先生は、治りましたとおっしゃいました。しかし、まだ左耳のしたのリンパ節の腫れ、左喉の痛み、首が絞められる感じがあります。
  • 左耳の下のリンパ節が痛くて首が絞められる感じがありますが、見た目は腫れているのがわからない程度です。食べ物も詰まる感じはありません。朝は良くなっていますが、夕方になると痛くなります。
  • ネットで調べるとリンパ節炎の可能性があります。様子を見ていても良いか悩んでいます。アドバイスをお願いします。
回答を見る