• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS安装使用 >

DedeCMS首页/列表页调用发布者信息的SQL标签实现教程

来源: www.dedecms8.com 编辑:织梦吧 时间:2011-02-10点击:

  听到有朋友在问,如何在首页或者列表也调用文档发布者的一些相关信息(比如:会员名、昵称、QQ帐号等),今天,华强就给大家做一个简单的示例,这样的实现目前只能通过万能调用标签(SQL)来进行实现,我们这里分两个部分来实现:

  • 会员基本信息调用
  • 会员更多资料调用

一、会员基本信息调用

所谓会员基本信息,指的是dede_member 表的所有字段,包括会员名、昵称、邮箱等基本信息,大家也可以用相关的数据库管理软件进行管理查看具体的表结构。但是在文档表是在dede_archives 中是没有这些信息的,那么就需要用到SQL语句的两表关联。大家看一下以下SQL语句:

select arc.id,arc.title,arc.mid,m.* from dede_archives arc left join dede_member m on arc.mid = m.mid where arc.arcrank > -1 and arc.mid <> 0 order by arc.id desc limit 0,15

上面这段代码就是将文档主表和会员基本信息表进行关联,关联的方式是文档表的mid字段与会员基本表的mid是相等。也就是指定具体调用哪个会员的信息。我们知道,SQL调用标签有且只有一个参数(SQL),那么转换为具体的织梦(DedeCMS)系统调用标签的代码就为:

 

{dede:sql sql="select arc.id,arc.title,arc.mid,m.* from dede_archives arc left join dede_member m on arc.mid = m.mid where arc.arcrank > -1 and arc.mid <> 0 order by arc.id desc limit 0,15"}   

<li><a href="[field:id runphp='yes']$url = GetOneArchive(@me);@me = $url['arcurl'];[/field:id]" title="[field:title/]">[field:title/]</a> [会员ID:[field:userid/] 昵称:[field:uname/] QQ:[field:qq/]]</li>  

{/dede:sql}  

底层模板均使用[field:字段名/]方式来调用,这里的取值范围为主表的id,title,mid字段与会员表的所有字段!

我们来看看具体效果:

二、会员更多资料调用

关于这个会员更多资料,实际上是在上面的两表关联中再加一个表进行查询,这个表就是会员详细资料的表(dede_member_person)。这个就要求对SQL有一定了解的朋友进行深入学习了。

首先还是给大家一个示例参考:

select arc.id,arc.title,arc.mid,m.*,mp.* from dede_archives arc,dede_member m,dede_member_person mp where arc.mid = m.mid and arc.mid = mp.mid and arc.arcrank > -1 and arc.mid <> 0 order by arc.id desc limit 0,15

这里是SQL语句里的from就查询了三个表,分别是文档主表(dede_archives)、会员基本信息表(dede_member)和会员详细资料表(dede_member_person),它的作用是不但能调用主表的文档信息,也能调用会员表的基本信息和详细信息,比如QQ、手机、爱好等。而这个会员的模型,在DedeV5.6版本开始,是可以像内容模型一样进行自定义的。可以这么说,有了这个基础。您可以调用目前绝大多数的网站类型了。

将它转换为织梦(DedeCMS)系统后的标签为:

 

{dede:sql sql="select arc.id,arc.title,arc.mid,m.*,mp.* from dede_archives arc,dede_member m,dede_member_person mp where arc.mid = m.mid and arc.mid = mp.mid and arc.arcrank > -1 and arc.mid <> 0 order by arc.id desc limit 0,15"}   

<li><a href="[field:id runphp='yes']$url = GetOneArchive(@me);@me = $url['arcurl'];[/field:id]" title="[field:title/]">[field:title/]</a> [会员ID:[field:userid/] 昵称:[field:uname/] QQ:[field:qq/]]</li>  

{/dede:sql}

 

接下来我们来看看具体的调用效果:

标签: dedecms标

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ