2012-01-24 8 views
-2

まあ私は最後の5日間、UNIでの割り当てのための簡単な登録、確認、ログインPHPスクリプトを作成しようとしていますが、私は最後の5日間しようとしているものは動作していません友人リストに友人を追加しています。 Facebookのようなものだがもっとはるかに単純なものだ。それはグループの割り当てとして得たAndroidのゲームのためだ。友人を追加するためのPHPスクリプト

TABLE users私にはフィールドID, username, password, email, friendsがあります。

フィールドの友人あなたの友人のIDとして複数の値を保存したいと思います。ゲームでいくつかのユーザー情報を取得する。

このDBとテーブルがINSERTが新しいレコードを作成して、値だけを挿入することはできません1つの既存のレコードの列とUPDATEにのみ挿入することはできませんが、古い削除させていただきます、MySQLとINSERTまたはUPDATE私のために働いていない上にあり1とで新しいものを挿入し

+1

あなたはどのコードを使用していますか? //あなたはどのようなエラーを受け取りますか? – Nanne

+0

'Not Working'があまりにも曖昧です - エラーメッセージが表示されますか?あなたはmysql_error()などの問題を調べていますか? mysqlモジュール、mysqli、またはpdo_mysqlを使用していますか?あなたのコードの関連ビットを見ることができますか? – halfer

+0

このような質問を読むと、1行のコードを見ることなくその人をどのように助けてくれるでしょうか? –

答えて

2

通常は、フィールドでのfreindsテーブルを追加します:。

のuser_id は、両方のフィールドは、ユーザ・テーブルのidフィールドへの参照です

をfriend_id。

何らかの理由でユーザーテーブルのフィールドにID値をシリアル化して保存する必要がある場合は、

注意:テーブルに簡単に参加することはできず、完全性を維持する自動化された可能性はありません。ユーザーが削除された場合、このユーザーへの参照は削除されません。これは、セカンダリーフレンドテーブルと外部キーで可能になります。

3

これは多対多の関係である(私が正しい場合)ので、これを記録する別個のテーブルを作成することは賢明でしょう。

Table: Friends 
userID 
userID2 (or friendID) 

あなたが入力できるのはどれですか。詳細情報については

http://www.singingeels.com/Articles/Understanding_SQL_Many_to_Many_Relationships.aspx

+0

その記事は多くの助けを得ました –

+0

@JakubZakあなたが達成しようとしていることが多かれ少なかれ多くの関係であることを知ったところで、問題はありません。非常に一般的です。 –

2

あなたはここで説明してきた何人とその友人の間many-to-many関係があります。リレーショナルデータベースでこれを実装する標準的な方法は、各行が2人の間の「友情」を表すピボットテーブルを使用することです。

usersテーブル:

id, name, email, etc. 

friendshipsテーブル:

user_id_1, user_id_2 

次に、ユーザ1がある場合、ユーザー2、ユーザー3と友達に、あなた」あなたはIDを保持するための2つのフィールドを持っていると思いますdはfriendshipsテーブルに(1,2)(1,3)というレコードがあります。あなたが好きな場合は、これを相互関係として扱うことができます。または、ユーザー2もユーザー1と友人であることを示すために(2,1)レコードを要求することができます。

+0

そう失われた男、私は完全にこれで失われています。どのようにそれを行うか分からない。しかし、とにかくthx。それがどのように機能するのか理解していない。 –

+1

@ Jakub Zak、多対多の関係を理解することは、最初は複雑になる可能性があります。いくつかの記事やチュートリアルを読むだけで、すべてが明確になります。 – Czechnology

関連する問題