我在phpwind程序中编写了个发文章插件 
新建的文章数据库表为pw_xinjia;里面加了个UID字段,发布文章的用户UID都正确的写入 可是我怎么用文章数据表中的UID获取多个表中的用户信息?(主要获取用户名、用户等级,其他的可以先不管) 
就跟论坛发帖子一样,把发布者的信息显示在文章中。 
这个我实在有些不明白。 
表: pw_members  是用户信息,包括用户名 name
表:pw_usergroups 是等级  主键是GID表:pw_permission 关联数据库 字段包括:uid  fid  gid  rkey  type  rvalue  

解决方案 »

  1.   

    select x.*, u.name, ug.等级name  from pw_xinjia as x
    left join pw_members as m on x.uid = m.uid
    left join pw_permission as p on p.uid = x.uid
    left join pw_usergroups as ug on ug.gid = p.gid
    where x.条件
      

  2.   

    我程序查询数据非常多,每条查询语句都这样写的话影响速度
    有更好的办法吗?或者是把这句子用巧些
    详讲,感激不尽!在phpwind系统中,功能函数齐全,但是我的查询首页是独立的,并且也不知道显示等级相关的变量
      

  3.   

    一个是mysql复杂,一个是php复杂,看你怎么衡量了1、 根据文章中uid组成$uids
    2、 根据$uids查询相关用户的信息(select * from pw_members where uid in ($uids))
    3、 根据$uids查询相关用户的$gids (select * form pw_permission where uid in ($uids))
    4、 根据$gids查询相关用户组信息(select * form pw_usergroups where gid in ($gids))
    5、 最后遍历下文章信息,将用户信息和用户组信息追加到文章信息中