パート1(MySQLパート)
CIとMySQL(同じサーバー)を使用しています。複数のテーブルを一緒に操作したことはありません。リレーションを設定する必要があるのか、PHPが私に代わって話をしてくれるのかわかりません。
これが私が達成しようとしていることです:
テーブル:アイテム(このテーブルは各アイテムが保存される場所です)
表:ユーザー(ユーザーID、パスワード、アカウント情報など)
テーブル:コレクション(このテーブルは、ユーザーxが#アイテムxの量を持っていることを示します)
すでにItemsテーブルとUsersテーブルを設定していますが、コレクションテーブルをどうするか悩んでいます。
パート2(CI / PHPパート)
SQLを設定したら、コレクション内のリストをPHPに追加/削除/更新し、誰かのコレクションにあるものに基づいて関連情報を表示するための最良の方法は何ですか。
元
アイテムフィールド(id、Name、Value)
ユーザーフィールド(ID、名前、パスワードMD5、最終ログインなど)
コレクションフィールド(id、itemid、userid、amount)
現在ログインしているユーザーのすべてのアイテムを表示できるようにしたいのですが、ログインしているユーザー変数はここから取得されます
function account_info($username)
{
$this->db->where('username', $username);
$query = $this->db->get('user');
$result = $query->row();
return array(
'id' => $result->id,
'firstname' => $result->firstname,
'lastname' => $result->lastname,
'email' => $result->email,
'joindate' => $result->joindate
);
}
私の一意のユーザーIDが1で、次の行がコレクションテーブルにあるとします。
id | ユーザーID| itemid | 額
1 | 1 | 23 | 1
2 | 1 | 25 | 3
3 | 2 | 20 | 5
4 | 1 | 24 | 1
itemid 23、25、24の情報を含む1、2、4行目のみを返したいのですが。