2

質問: タイトルに記載

プロジェクト: 私の PHP マフィア/ギャング戦略ゲーム

質問の理由: この質問を、関連性のある Google 検索にどのように表現すればよいかわかりません。

配列に使用する MySql 変数の型を知りたいです。この配列を分解して、そのプレイヤー モブのすべての人を含む ID リストにします。

以下の MYSQL データの例:

PlayerId -------- Mob //Lables

134 ------------- '23','59','12','53','801' //Values

これはexplode()、PHP を使用して、その人の mob 内のプレイヤーの IDS を含む一連の int に展開されます。

プレイヤーが巨大なモブを持てるように、モブ フィールドのキャラクターの長さを無制限にしてほしいです。

longtextまたはタイプを単純に使用できると思いますがset、完全にはわかりません。ゲームをリリースしたら、後でエラーが発生したくありません。また、メソッドをクリーンで正確な状態に保ちたいと考えています。

これを読んでいただきありがとうございます。お役に立てれば幸いです。:)

4

3 に答える 3

5

プレイヤーとMobを関連付けるテーブルを作成する必要があります。

 CREATE TABLE PlayerMobs (
   PlayerId INT UNSIGNED NOT NULL,
   MobId    INT UNSIGNED NOT NULL,
   FOREIGN KEY (PlayerID) REFERENCES Players (PlayerID),
   FOREIGN KEY (MobID)    REFERENCES Mobs    (MobID)
);

次に、必要に応じてクエリで他のテーブルと結合します。

有効な値と値のみがテーブルに存在することを保証するためにFOREIGN KEY制約を追加しましたが、これらの制約は現在、ストレージエンジンでのみ機能することに注意してください。PlayerIDMobIDPlayerMobsInnoDB

于 2012-11-20T08:24:03.070 に答える
0

私はこれをかなり前に行いましたが、アカウントを閲覧しているときにたまたまこの質問に出くわしました。

特定の「モブ」はありません。あなたの「暴徒」は基本的に友達リストのようなものです。グループではありません。それはあなたにつながっている人々の集まりです。

「暴徒メンバー」の行を作成し、他のプレーヤーの ID をコンマで区切って配置しただけだと思います。次に、PHP で区切り文字としてコンマを使用して文字列を展開しました。

于 2014-02-26T01:09:23.160 に答える
0

あなたが試すことができます

 CREATE TABLE PlayerMobs (
 PlayerId INT UNSIGNED NOT NULL,
 MobId   Text UNSIGNED NOT NULL);
于 2013-04-09T09:07:05.260 に答える