php应用sql数据库,读取关联表数据

php应用sql数据库,读取关联表数据

$sql = mysql_query("SELECT * FROM characters left join departments on departments.departmentid=characters.departmentid ORDER BY salary DESC LIMIT 0,20"); while ($data = mysql_fetch_array($sql)){ ?>






? }?>
姓名: 薪金: 年龄: 部门:

----------------------------------------------------------------
有两个表,人物表characters和部门表departments,要求在网页中显示人物姓名、年龄、薪金和其所在的部门,并且以薪金从高到低显示出前20位的人物。
现在的问题是显示不出人物所在的部门名称
请高手指教,多谢!!!
查询改为:

$sql = mysql_query("SELECT characters.*,departments.name as depname FROM characters left join departments on departments.departmentid=characters.departmentid ORDER BY salary DESC LIMIT 0,20");

部门:

如果还不行,那么吵瞎你直接在mysql客户端执行一下

SELECT characters.*,departments.name as depname FROM characters left join departments on departments.departmentid=characters.departmentid ORDER BY salary DESC LIMIT 0,20

如果depname没有值的话者配,那么就说明数据库里就没有值了。你自然也取首碰指不出来。
是因为你的人物表和部门表都有name字段,导致departments的namef无法访问.
语岩源纤句改一裂伍下试试:
SELECT characters .*,departments.name as dept_name FROM characters left join departments on departments.departmentid=characters.departmentid ORDER BY salary DESC LIMIT 0,20

==============
在while循环中部门使用 $date['粗仿dept_name'];
← 上一篇: 下一篇: →