php页面访问多个表的做法,mysql,php_在MYSQL中一对多表关系这样显示,最优的做法是什么?,mysql,php - phpStudy...

在MYSQL中一对多表关系这样显示,最优的做法是什么?

想表达的意思:用户有很多属性(Tag),比如唱歌、跳舞、玩游戏,表结构如下图:

创建表的mysql语句如下:

drop table if exists user;

create table user

(

user_id int not null auto_increment,

user_name varchar(20),

primary key (user_id)

);

drop table if exists tags;

create table tags

(

tag_id int not null auto_increment,

tag_name varchar(100),

primary key (tag_id)

);

drop table if exists user_tag;

create table user_tag

(

user_id int,

tag_id int

);

插入数据的SQL语句如下:

insert into user values(1,'小A');

insert into user values(2,'小B');

insert into user values(3,'小C');

insert into tags values(1,'唱歌');

insert into tags values(2,'跳舞');

insert into tags values(3,'宅');

insert into tags values(4,'看书');

insert into tags values(5,'旅游');

insert into user_tag values(1,1);

insert into user_tag values(1,2);

insert into user_tag values(2,1);

insert into user_tag values(3,1);

insert into user_tag values(3,4);

insert into user_tag values(3,5);

我想在页面表现如下:

首先是用户列表,但同时把用户的tag都带出来。

最终的表现形式和的首页列表很像,显示问题列表并顺便把问题的很多tag也显示出来。

目前我有两种办法:

先把用户select出来,然后在php中循环用户的结果集,再select出属性。

通过join连表,查出如下的记录,然后再显示的时候过滤。

请教有没有其他的方案?

谢谢。

相关阅读:

如何给轮播图自定义滚动条?

一个字符串里面小数点的数量大于1个的匹配正则怎么写?

binary operator '+' can t

我引入CSS3自定义字体没有效果?

javascript支持私有文件下载吗?

a标签跳转链接问题

app 旋转的问题

js实现并发的问题??

UDP的不可靠体现在哪里?

二路归并外排序算法的时间复杂度是什么?

优酷开放平台视频api在手机端怎么不显示?

macbook pro 8g 256ssd 光是coding,闲了上上网,看看电影,硬盘够用不?

html5元素与优酷和土豆视频播放有关联吗?

关于前端浏览器的内核问题!

GPUImage 处理后的图片与返回的图片不一致

j2ee的项目现在主流的开发技术,包括平台,框架,第三方IDE,前台框架,技术等

mipmap的兼容性问题

初学python,有没有有趣的小项目可以推荐的?

使用vue-router+webpack开发时,子组件的路由应该写在哪里?

为什么vps通过ssh一连接就ping不通?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值