※ ChatGPTを利用し、要約された質問です(原文:PHPとSQLによるaタグ(リンク)の貼り付け方)
PHPとSQLによるaタグ(リンク)の貼り付け方
2013/12/13 05:22
このQ&Aのポイント
PHP・SQL初心者のため、MySQLとPHPを使ってサイトを構築しています。データベースの接続やテーブル内容の表示はできますが、リンクの貼り方が分かりません。友達の名前を表示し、その名前にデータベースのIDを利用してリンクを貼りたいです。ただし、適切な関数やSQLの構文がわかりません。解決策を教えてください。
質問内容は、PHP・SQL初心者がリンクを貼る方法についてです。データベースの内容を表示している際に、友達の名前にデータベースのIDを利用してリンクを設定したいと考えています。現在、データの抽出や表示は問題なくできていますが、リンクを設定する方法が分かりません。適切な関数やSQLの構文を教えていただけると助かります。
MySQLとPHPを使用してサイトを構築していますが、友達の名前にデータベースのIDを利用してリンクを貼りたいです。現在、データの抽出や表示はできていますが、リンクを設定する方法がわかりません。どのような関数やSQLの構文を使用すれば良いでしょうか。初心者なので、詳しい方のご教授をお願いいたします。
PHP・SQL初心者です。
MySQLとPHPでサイトを構築しています。
データベースへの接続・テーブル内容の表示等はできるのですが、リンクをどのようにすれば貼り付けることができるのかわからなかったため質問させていただきました。
ID 名前 友達1 友達2 ・・・
1 田中 佐藤 前田
2 山田 XXX XXX
3 佐藤 XXX XXX
4 前田 XXX XXX
・
・
このようなデータベースを用意し、
名前が「田中」さん(ID が 1)のページに
-------------------------------------------
田中さんの友達
友達1:佐藤
友達2:前田
-------------------------------------------
このように表示し、
「佐藤」「前田」の箇所にデータベースの「ID」を利用してリンクを貼り付けたいと考えております。
データの抽出・画面への表示は、
$quryset = mysql_query("SELECT ID,名前,友達1,友達2 FROM テーブル名 WHERE ID= '1' ");
while ($data = mysql_fetch_array($quryset)){}
このような関数で行っております。
表示は問題なくできているのですが、
表示の「佐藤」「前田」の箇所にリンクを設定するの方法がわかりません。
「ID」 = 1 の情報を表示しているため「山田」と表示している箇所に
<a href="http://XXXX.com/$data [ID].php">山田</a>
と設定してリンクをつけることはできます。
友達の欄の「佐藤」「前田」の箇所にリンクをつけることができません。
データベースの「ID」欄、を利用して
-------------------------------------------
田中さんの友達
友達1:<a href="http://XXXX.com/ID 名.php">佐藤</a> ID名=佐藤さんのID欄にある2
友達2:<a href="http://XXXX.com/ID 名.php">前田</a> ID名=前田さんのID欄にある4
-------------------------------------------
↓↓↓
IDが抽出されて
-------------------------------------------
田中さんの友達
友達1:<a href="http://XXXX.com/2.php ">佐藤</a>
友達2:<a href="http://XXXX.com/4.php ">前田</a>
-------------------------------------------
このような形で表示できれば理想なのですが、
使用する関数やSQLの構文がわかりません。
初心者のため、考え方が根本的に間違っているのかもしません。
お詳しい方、まったく別の方法でも構いませんので解決する方法をご教授頂ければ幸いです。
質問の原文を閉じる
質問の原文を表示する
お礼
ご回答ありがとうございます。 友達のIDではなく名前で情報を記録しておりました。 「テーブル設計がおかしい」まさにその通りでした。 リレーションという言葉さえ知らなかったため大変参考になりました。 調べて取り組んだ結果、正しいのかはわかりませんが「自己結合」を使うことによって 今回問題の箇所は解決できました。 まだまだ超がつくほどの初心者ですが勉強を続けてよい設計ができるように頑張ります。 ありがとうございました。