利用{dede:sql}自由SQL语句真正调用分类信息发布作者到首页的方法

0

织梦系统中,分类信息模型属于独立单表模型的,他的调用标签为ArcListsg 标签,而使用系统内置的Arclistsg 标签是无法调用信息的发布人的!也就是说没有[field:信息发布人/] 这样的字段可供选择。

  织梦系统提供了强大的SQL标签供高级用户使用,他的基本格式为:

  1. {dede:sql sql=“完整的SQL查询语句”}   
  2. 底层模板,用于输出[field:字段名/]<!–字段名取值范围为查询结果的所有字段–>  
  3. {/dede:sql} 

我们了解了上面的这种方式以后,那么我们就可以使用SQL语句来调用分类信息模型了。一个简单的例子:

 

  1. {dede:sql sql=“select * FROM #@__addoninfos limit 0,10”}   
  2. 信息标题:[field:title/]   
  3. {/dede:sql}  

 

上面的这种基本调用就是调用了信息发布的最新10条信息。这里的* 号就可以取值到信息发布者的会员id号,他的字段是mid,那么我们就可以在底层模板中通过 [field:mid/] 来进行输出了。但是这里我们只输出这个id号,无法取得他的会员名及昵称啊?怎么办呢?

   这里我们就可以想到利用left join 来进行匹配了,因为他既然能够获取他的会员id号,那么这个值他是与织梦的会员表是相互关联的,通过这个值我们可以关联到织梦会员表来获取更加详细的会员资料。比如:

Select a.*,m.* FROM #@__addoninfos a left join #@__member m on a.mid = m.mid

这里利用left join 来进行匹配,让他们两边的ID号码相等,就可以了。所以我们调用分类信息发布者到首页的具体代码就为:

  1. {dede:sql sql=“Select a.*,m.* FROM #@__addoninfos a left join #@__member m on a.mid = m.mid limit 0 2”}   
  2. [field:字段名/]<!–这里的字段名的取值就可以为addoninfos与member两个表的所有字段了–>  
  3. {/dede:sql}  

  当然,这里提供的仅仅是一个思路!比如,后面的限制调用的栏目,只需要在 a.mid = m.mid 后面加上一个where a.typeid = 栏目id 来进行表示,如果你的栏目为多个,还可以使用 where a.typeid IN(栏目1,栏目2….栏目N)等等。

发表评论

您的邮箱不会公开,当您的评论有新的回复时,会通过您填写的邮箱向您发送评论内容。 必填字段 *

为何看不到我发布的评论?

正在提交, 请稍候...