欢迎来到素材无忧网,按 + 收藏我们
登录 注册 退出 找回密码

帝国CMS首页调用会员信息(两表多表查询)

时间: 2024-02-25 09:30 阅读: 作者:素材无忧网



首页调用会员信息(同时关联查询两个表)
系统自带调用的会员信息没有附表的信息,如何处理?

同时查询主表和附表,两个表关联的条件是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}]
会员头像:帝国CMS首页调用会员信息(两表多表查询)(图1)--
会员空间地址:e/space/?userid=--
会员ID:--
用户名:--
注册时间:--
真实姓名:--
最近登陆时间: --
最近登陆的IP:--
登陆次数:--
会员QQ:

[/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}]
会员头像:帝国CMS首页调用会员信息(两表多表查询)(图1)--
会员空间地址:e/space/?userid=--
会员ID:--
用户名:--
注册时间:--
真实姓名:--
最近登陆时间: --
最近登陆的IP:--
登陆次数:--
会员QQ:

[/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}]
会员头像:帝国CMS首页调用会员信息(两表多表查询)(图1)--
会员空间地址:e/space/?userid=--
会员ID:--
用户名:--
注册时间:--
真实姓名:--
最近登陆时间: --
最近登陆的IP:--
登陆次数:--
会员QQ:

[/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--] 标签,不然 真实姓名、头像 是不会显示的。

如果需要可以分页的,可以用自定义列表来调用,其他的调用大家自己思考吧。

---------实例:-----------






[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}]





[/e:loop]
排名号会员名头像
帝国CMS首页调用会员信息(两表多表查询)(图4)

版权声明: 本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

转载请注明: 帝国CMS首页调用会员信息(两表多表查询)

模板推荐