ホームページ >バックエンド開発 >PHPチュートリアル >PHPで1対多の関係を表示するにはどうすればよいですか?

PHPで1対多の関係を表示するにはどうすればよいですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:38:101207ブラウズ

表示する必要がある効果は、以下の図に似ています:


クラブ項目の 1 つは複数の値を持つことができます

対応するテーブル構造は次のとおりです:
CREATE TABLE users(
uid int(11) NOT. NULL AUTO_INCREMENT、
uname varchar(32)、
PRIMARY KEY (uid)
)

CREATE TABLE groups(
gid int(11) NOT NULL AUTO_INCREMENT、
gname varchar(32)、
PRIMARY KEY (gid)
)

CREATE TABLE user_group(
uid int(11),
gid int(11)
)

図に示すように効果を表示するために php をクエリして使用する方法


ディスカッションに返信する (解決策) )

3 つの時計についてどう思いますか? 3 つ目の時計についてはどのような点を考慮しますか? (外部キー制約?インデックス?) 複数のテーブルのフィールドが関係する場合は、接続クエリを実行するか、最初にインデックスを構築してから、インデックスからフィールドを抽出します。

実際、3 番目のテーブルは必要ありません

第 2 章のテーブルは uid フィールドを追加します


select u.uname , GROUP_CONCAT(g.gname) from users u, user_group ug, groups g

where u.uid =ug.uid と ug.gid=g.gid は u.uid でグループ化されます
;

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。