帝国CMS首页调用会员信息(两表多表查询)氟西汀1年前发布关注私信0819 首页调用会员信息(同时关联查询两个表) 系统自带调用的会员信息没有附表的信息,如何处理? 同时查询主表和附表,两个表关联的条件是userid 方法1、 代码如下: [e:loop={"select a.*,b.* from [!db.pre!]enewsmember a LEFT JOIN [!db.pre!]enewsmemberadd b ON a.userid=b.userid order by lasttime desc limit 100",100,24,0}]会员头像:<img src="<?=$bqr[userpic]?>" width="52" height="52" />–会员空间地址:<?=$bqr['newsurl']?>e/space/?userid=<?=$bqr[userid]?>–会员ID:<?=$bqr[userid]?>–用户名:<?=$bqr[username]?>–注册时间:<?=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>–真实姓名:<?=$bqr[truename]?>– 最近登陆时间:<?=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> — 最近登陆的IP:<?=$bqr[lastip]?>– 登陆次数:<?=$bqr[loginnum]?>–会员QQ:<?=$bqr[oicq]?><br>[/e:loop] 很简单的代码[!db.pre!] 同时调用id、用户名、真实姓名、最近登陆时间、最近登陆的IP地址还有登陆次数。 根据登陆时间的先后排列,最近登陆的在最前面。(还可以调用qq、手机等信息)————————————————————————————————– 方法2、(和上面的相同,只是sql格式有稍微不同)[e:loop={"select a.*,b.* from [!db.pre!]enewsmember a,[!db.pre!]enewsmemberadd b where a.userid=b.userid order by lasttime desc limit 100",100,24,0}]会员头像:<img src="<?=$bqr[userpic]?>" width="52" height="52" />–会员空间地址:<?=$bqr['newsurl']?>e/space/?userid=<?=$bqr[userid]?>–会员ID:<?=$bqr[userid]?>–用户名:<?=$bqr[username]?>–注册时间:<?=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>–真实姓名:<?=$bqr[truename]?>– 最近登陆时间:<?=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> — 最近登陆的IP:<?=$bqr[lastip]?>– 登陆次数:<?=$bqr[loginnum]?>–会员QQ:<?=$bqr[oicq]?><br>[/e:loop]————————————————————————————————– 方法3、(和上面的相同,只是sql格式有稍微不同)[e:loop={"select [!db.pre!]enewsmember.*,[!db.pre!]enewsmemberadd.* from [!db.pre!]enewsmember,[!db.pre!]enewsmemberadd where [!db.pre!]enewsmember.userid=[!db.pre!]enewsmemberadd.userid order by lasttime desc limit 100",100,24,0}]会员头像:<img src="<?=$bqr[userpic]?>" width="52" height="52" />–会员空间地址:<?=$bqr['newsurl']?>e/space/?userid=<?=$bqr[userid]?>–会员ID:<?=$bqr[userid]?>–用户名:<?=$bqr[username]?>–注册时间:<?=format_datetime($bqr[registertime],'Y-m-d H:i:s')?>–真实姓名:<?=$bqr[truename]?>– 最近登陆时间:<?=format_datetime($bqr[lasttime],'Y-m-d H:i:s')?> — 最近登陆的IP:<?=$bqr[lastip]?>– 登陆次数:<?=$bqr[loginnum]?>–会员QQ:<?=$bqr[oicq]?><br>[/e:loop]————————————————————————————————– 方法4、SQL标签研究-多表查询 问题:在信息后显示发布该信息用户的 头像、QQ、MSN等相关信息 分析:1、这样的查询应该会用到ecms_news表(其他模型表名自找),和存放用户的 真实姓名、头像、QQ、MSN等信息的enewsmemberadd表,共2张2、标签模板中我们需要用的标签,一般的调用大概只需要[!–titleurl–] [!–title–] [!–newstime–] 这些,而[!–ftitle–] [!–smalltext–] [!–writer–] [!–befrom–] [!–newstext–]这些基本很少用到,而系统只能允许我们调用这些内置标签,所以需要在不用的标签内选择几个来使用,选择的数量是和你要调用的信息个数成正比的。 实例:信息后增加所投稿用户的 真实姓名 头像 信息。找到 真实姓名 头像 分别对应 enewsmemberadd表内truename和 userpic字段,我们挑选了 [!–writer–] [!–befrom–]标签来显示它们。开始写SQL,两张表的是用USERID这个字段关联的 select a.*,b.truename as writer,b.userpic as befrom from phome_ecms_news as a LEFT JOIN phome_enewsmemberadd as b ON a.userid=b.userid order by newstime desc limit 100 “order by newstime desc”部分定义排序方式,“limit 100”部分定义查询记录数,自定义列表中可不定义。 标签模板记住要放 [!–writer–] [!–befrom–] 标签,不然 真实姓名、头像 是不会显示的。 如果需要可以分页的,可以用自定义列表来调用,其他的调用大家自己思考吧。 ———实例:———–<table><tr><td>排名号</td><td>会员名</td><td>头像</td></tr>[e:loop={'select a.*,b.truename as writer,b.userpic as befrom from phome_ecms_news as a LEFT JOIN phome_enewsmemberadd as b ON a.userid=b.userid order by newstime desc limit 100',0,24,0}]<tr><td><?=$bqno?></td><td><?=$bqr[writer]?></td><td><img src="<?=$bqr[befrom]?>"/> </td></tr>[/e:loop]</table> 帝国CMS首页调用会员信息(两表多表查询).doc © 版权声明 本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢! 分享是一种美德,当你分享时请你附带上本文链接。 THE END帝国cms教程# 帝国cms# 首页# 会员信息 点赞9 分享QQ空间微博QQ好友海报分享复制链接收藏