別のテーブルを使ってmysqlテーブルを検索する

自分の問題を解決する方法や考え方を教えてもらえれば本当にありがたいです。

私は名前、電子メール.....などの私のユーザー情報を含むテーブルを持っています。そして1,2,3(自動インクリメント)のような行のID。

最初のメンバーが2番目のメンバーの友人かどうかをチェックする別のテーブルは、mem1 id、mem2 id、追加された日付、行のIDなどのようになります。

そして、私は通常のHTMLフォームを作成したい、彼は彼の友人のためのユーザーの検索をしましょう。ジャックが彼の友人ジョンの名前をタイプするように、彼は第2のテーブルに従ってジョンが彼の友人かどうかを得る。

誰かが私を助けることができれば、本当に楽しいでしょう、私は本当に幸せになるでしょう..

0

3 答え

SELECT users.name as friend_name, friends.friend_id as friend_id FROM 
users, (SELECT mem1 as friend_id FROM friends WHERE friends.mem1=$userid   UNION SELECT mem2 as friend_id FROM friends WHERE friends.mem2=$userid) as user_friends 
WHERE user_friends.friend_id=users.id

This query should fetch all friend's names and user id's from the tables. Just Render the result as json and use ajax to fetch it. Check out autocomplete on jQuery UI http://jqueryui.com/

0
追加された

これはJOINで解決できます:

SELECT m2.name FROM member_relations AS f
JOIN members AS m1 ON m1.id = f.mem1
JOIN members AS m2 ON m2.id = f.mem2
WHERE m1.name = 'Jack' AND m2.name = 'John'

現在のユーザーのIDをすでに知っていると仮定すると、簡単にすることができます。

SELECT m.name FROM member_relations AS f
JOIN members AS m ON m.id = f.mem2
WHERE f.mem1 = {ID} AND m.name = 'John'
0
追加された

Use ajax:ユーザーが最初の値を入力すると、データベース内のデータを検索し結果を返す非同期のPHPスクリプト呼び出しを行います。

0
追加された
ああ、申し訳ありません、私の間違い! ; )
追加された 著者 maialithar,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com