mysql建表字段的设置问题

php中文网
发布: 2016-06-06 20:17:22
原创
1370人浏览过

我想建个技能表 表的字段为 id , skill
另一个是人的信息表 字段为 id,sid,info其中sid是链接两个表的字段sid=技能表中的id
现在问题是每个人不一定有一个技能 每个人的sid中可能有好几个数 我用什么办法可以读取每个人的技能信息

回复内容:

我想建个技能表 表的字段为 id , skill
另一个是人的信息表 字段为 id,sid,info其中sid是链接两个表的字段sid=技能表中的id
现在问题是每个人不一定有一个技能 每个人的sid中可能有好几个数 我用什么办法可以读取每个人的技能信息

技能表k,人物表p
select ta.*,tb.skill from p as ta left join k as tb on ta.sid=tb.id;

你还少张表啊

多对多关系,建议建多张关系表,比如relation
字段可以设置为sid,跟用户id,假设为uid
那么

<code>select uid from relation where sid='xxx' 
</code>
登录后复制

是拥有某个技能的人

<code>select sid from relation where uid='xxx'
</code>
登录后复制

为某个人拥有的技能
当然要再读取适当联表信息

在加一张关系表就行了,用户表把sid去掉

这是一对多的问题

人表(t_user)
id , username

人 技能 关联表(user_skill)
id user_id skill_id

技能表(skill)
id,skill

SELECT
t_user.id,
t_user.username,
skill.id,
skill.skill
FROM
t_user
LEFT JOIN user_skill ON t_user.id = user_skill.user_id
LEFT JOIN skill ON skill.id = user_skill.skill_id

ShopEx 网上商店系统
ShopEx 网上商店系统

国产著名网上商店系统,真正企业级应用软件,性能卓越,在国内外享有盛誉,用户遍布欧洲、美洲、大洋洲,支持多语言,前台与后台均可设置为不同语言界面,用户帮助文档极其丰富,PHP+MySQL+Zend运行环境,让你快速建立个性化的网上商店,内置几十种网上支付网关、内置数十套精美模板,支持实体、非实体商品销售。 更新功能调整: 1、应用中心:APP的“更新时间”字段

ShopEx 网上商店系统 0
查看详情 ShopEx 网上商店系统

where t_user.id = '1' -- 差找用户id为1 的技能列表

用户信息表:info
用户技能表:jineng

思路:通过PHP先取出某用户的sid,然后通过字符串切割成数组的方式得到多技能用户的每个技能对应的sid,最后拼接sql语句。

要求:在info表中保存多个sid时需要用指定符号分开,例如:1;2;3;4

PHP:(这边以分号分割sid)

function user_skill($id){

<code>$sid=mysql_fetch_assoc(mysql_query("select * from info where id=$id"))['sid'];</code>
登录后复制

$arr=explode(';',$sid);
$sql="select skill from jineng where id in(";
foreach ($arr as $v)
{

<code>$sql.=$v.',';</code>
登录后复制

}
$sql=substr($sql,0,strlen($sql)-1);
$query=mysql_query($sql);
// while循环便可输出所有的id为$id的用户的所有技能
}

1、技能表
2、用户信息表

一个用户可以有多项技能,但某一项技能可以被多个用户所应有!所以技能表和用户信息表之间的关系是多对多。
既然是多对多关系,那么就需要一张中间表(用户技能表)

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号