0

ユーザーが支払ったデータの種類に基づいてデータを表示できるPHPベースのサイトを構築したいと思います。

例として簡単なものを使用させてください。

バスケットボールの履歴データはすぐには入手できなかったが、購入できたとしましょう。勝者、敗者、最終スコア、日付などの単純な情報はすべてmySQLテーブルに保存されます。

ユーザーがログインしたときに、支払った履歴データのみを表示できるようにするために必要なこと。

アーキテクチャに関するこれまでの私の理論:

私は、彼らが支払ったすべての過去のゲームデータのTrueまたはFalse値を格納するmySQLテーブルを想像しました。これに基づいて、「データチャート」オブジェクトを使用すると、ユーザーは「true」の値を持つmySQL行内のすべてのデータを表示できます。

フォローアップ:

私が正しいと仮定すると、このタイプのサービスで一般的または実用的な方法は何ですか。

4

1 に答える 1

0

スポーツのパラダイムを採用する場合は...

すべてのゲームには一意のIDが必要です。次に、顧客のテーブルがあり、それぞれに一意のIDがあります。次に、誰が何に対して支払ったかを説明する表があります。2列のID、customerIDとgameIDを持つテーブル。これがいわゆる正規化です。

したがって、参加テーブルには、ゲーム001、003、および005の料金を支払った顧客ID001が含まれている可能性があります。顧客テーブルは次のとおりです。

.------------------------------.
| customer_id | customer_name  |
|------------------------------|
| 001         | SPM, Inc.      |
| 002         | Stack Overflow |
'------------------------------'

これがゲームテーブルです:

.---------------------------------.
| game_id     | description       |
|---------------------------------|
| 001         | Giants v. Red Sox |      |
| 002         | Blah v. Yada      |
| 003         | Vader v. Kenobi   |
| 004         | Romney v. Obama   |
| 005         | Roth v. Hagar     |
'---------------------------------'

誰が何に対して支払ったかに対応する表は次のとおりです。

.-----------------------------.
| customer_id | game_id       |
|-----------------------------|
| 001         | 001           |
| 001         | 003           |
| 001         | 005           |
| 002         | 002           |
| 002         | 005           |
'-----------------------------'

最後のテーブルのIDが一意ではないことに注意してください。

于 2012-12-04T23:03:00.647 に答える