网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 网站建设 > DedeCMS
User Name
Password
 
FAQ Members List Calendar Cheap Glasses Mark Forums Read

Reply
 
Thread Tools Display Modes
  #1   IP: 61.160.30.41
Old 2014-05-01, 10:57 PM
Ulster Ulster is offline
初级会员
 
Join Date: 2008-04-18
Posts: 1
Ulster 现在声名狼藉
Default 利用{dede:sql}真正调用分类信息发布作者到首页

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

面对这样的问题,大多数新手朋友可能就会束手无策!不过,今天,雪毅告诉你,这些都是可以解决的。

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

    {dede:sql sql="完整的SQL查询语句"}   
        底层模板,用于输出[field:字段名/]<!--字段名取值范围为查询结果的所有字段-->      
    {/dede:sql}   
我们了解了上面的这种方式以后,那么我们就可以使用SQL语句来调用分类信息模型了。一个简单的例子:
Code:

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

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

Code:

    Select a.*,m.* FROM dede_addoninfos a left join dede_member m on a.mid = m.mid     
这里利用left join 来进行匹配,让他们两边的ID号码相等,就可以了。所以我们调用分类信息发布者到首页的具体代码就为:
Code:

    {dede:sql sql="Select a.*,m.* FROM dede_addoninfos a left join dede_member m on a.mid = m.mid limit 0 2"}       
        [field:字段名/]<!--这里的字段名的取值就可以为addoninfos与member两个表的所有字段了-->      
    {/dede:sql}    
当然,这里提供的仅仅是一个思路!比如,后面的限制调用的栏目,只需要在 a.mid = m.mid 后面加上一个where a.typeid = 栏目id 来进行表示,如果你的栏目为多个,还可以使用 where a.typeid IN(栏目1,栏目2....栏目N)等等。
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 07:22 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.