1

以下のように2つのテーブルがあります。

表-1-連絡先
-id (主キー、AUTO_INCREMENT)
-firstname(varchar)
-lastname (varchar)
-email (varchar)

Table-2-comments
-id (主キー、AUTO_INCREMENT)
-fullname (varchar)
-email ( varchar) -comment
(text)
-date(varchar)

連絡先に接続されるコメントを取得して書き込むためにphpとMySQLクエリを書きたい.私は以下のように出力を取得したい:

url-contact.php?id=1
name-contact1
comment-contact1 は素晴らしいです。

url-contact.php?id=2
name-contact2
comment-contact2 で大丈夫です。

これどうやってするの?まず、連絡先ページから入力するときに各連絡先に接続されるコメントを書く必要があります。次に、その連絡先にアクセスしたときに、その連絡先のすべてのコメントを取得する必要があります。

私は今あなたからの助けに感謝します. 前もって感謝します。

4

2 に答える 2

1

2 つのテーブルが自然に結合されるように、データベース スキーマを設計する必要があります。たとえば、すべてのコメントには、コメントを投稿した連絡先の ID である contact_id が必要です。次に、次のようなことができます

select * from comment where comment.contact_id = (ここに contact_id を挿入)

2 つの連絡先が同じ名前の場合はどうなるでしょうか。連絡先の名前は使用できません。(これは、たとえば Facebook で非常に頻繁に発生します)

于 2013-01-22T02:43:53.003 に答える
1

テーブルに既にデータが含まれていると仮定すると、私が想像できる最善の方法は、メールに基づいてデータを選択することです。

これを完了するには、SELECT email FROM contacts WHERE id='id' を実行します。次に、そこからの戻り値を使用して、関連するすべてのコメントを取得するために、SELECT * FROM comments WHERE email='email' を使用します。

気をつけなければならないのは、電子メールの値が空の場合だけです。その場合、Patashu が提案した回答を使用してアプローチを再設計する必要があります。

于 2013-01-22T02:50:24.473 に答える