Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已答复] 如何实现SS中首页调用论坛图片,每主题只调用一张图片

[复制链接]
netnolimit 发表于 2009-6-12 01:01:54 | 显示全部楼层 |阅读模式
本帖最后由 netnolimit 于 2009-10-20 22:59 编辑

目前,默认的会调用同一主题下的多张图片,而出现标题重复的情况,对网站的体验不好。
实际通过模块管理可以实现,只调用同一主题的一张图片。
登录后台
创建模块-》论坛附件-》高级模式
  1. SELECT t . * , a . *
  2. FROM discuz.cdb_threads t
  3. INNER JOIN discuz.cdb_attachments a ON t.tid = a.tid
  4. AND t.authorid = a.uid
  5. WHERE a.isimage=1
  6. GROUP BY t.tid
  7. ORDER BY t.views DESC
复制代码
其它选项按自己的需求填写。

提交保存。

将得到的代码复制到调用的部分

比如我这里是
  1. <!--{block name="bbsattachment" parameter="sql/SELECT%20t%20.%20%2A%20%2C%20a%20.%20%2A%20%0D%0AFROM%20discuz.cdb_threads%20t%0D%0AINNER%20JOIN%20discuz.cdb_attachments%20a%20ON%20t.tid%20%3D%20a.tid%0D%0AAND%20t.authorid%20%3D%20a.uid%0D%0AWHERE%20a.isimage%3D1%0D%0AGROUP%20BY%20t.tid%0D%0AORDER%20BY%20t.views%20DESC/limit/0,6/cachetime/3600/subjectlen/36/subjectdot/1/cachename/bbs_hotpic/tpl/data"}--><!--论坛热图-->
复制代码
不要奇怪,上面不是什么乱码,是生成的调用代码。

对上面几处特别说明的地方:
1,t.authorid = a.uid  这里主要判断了这个主题与附件是不是为同一作者,不要这一处,会出现,lz发表的帖子没有图片,如果回贴者发了图片,也会调用出来。
2,GROUP BY t.tid 利用tid的唯一性和 group by的分组查询就得到了只检索出一行包含图版主题的帖子。

------------------------------------------------------------------


有朋友需要用到时间限制指定版块的:

完善了调用代码:
SELECT t. * , a. *
FROM yv_bbs.cdb_threads t
INNER JOIN yv_bbs.cdb_attachments a ON t.tid = a.tid
AND t.authorid = a.uid
WHERE t.fid
IN ( 11, 13 )
AND a.isimage =1
AND t.dateline >= UNIX_TIMESTAMP( ) -604800
GROUP BY t.tid
ORDER BY t.views DESC
LIMIT 0 , 30


使用说明:yv_bbs 要改成你自己的数据库名,(用了代码没有效果的应该是没有修改这儿)
UNIX_TIMESTAMP( ) -604800  是对七天内的帖子的调用。7×24×60×60得来,举一反三、天、月的调用很容易实现了。
t.fid IN ( 11, 13 ) 这里就是指定版块了。括号里是版块ID,注意是英文的逗号符,作为间隔的
ROCKINK 发表于 2009-6-19 07:50:55 | 显示全部楼层
感谢,

请问,如何加上时间判断?
比如:只调用发布时间是一个月内的。
回复

使用道具 举报

ROCKINK 发表于 2009-7-6 16:25:41 | 显示全部楼层
回复

使用道具 举报

phoer 发表于 2009-8-3 01:24:52 | 显示全部楼层
感谢,

请问,如何加上时间判断?
比如:只调用发布时间是一个月内的。
ROCKINK 发表于 2009-6-19 07:50


就是,请高人给一个完善的解决方案,需要一个时间限制。
回复

使用道具 举报

ash.huang 发表于 2009-8-3 03:13:06 | 显示全部楼层
回复

使用道具 举报

瞬间的觉悟 发表于 2009-8-4 12:55:55 | 显示全部楼层
有点看不懂,能详细点儿么?谢谢。
回复

使用道具 举报

daing 发表于 2009-8-20 21:32:59 | 显示全部楼层
顶个位置。。。。。。。。。。
回复

使用道具 举报

谈笑问书 发表于 2009-9-2 23:53:08 | 显示全部楼层
高人,给个机会,现身一下!
回复

使用道具 举报

sohoboy 发表于 2009-9-3 01:49:40 | 显示全部楼层
新手学习了。这个贴不错。。。。
回复

使用道具 举报

谈笑问书 发表于 2009-9-3 01:58:18 | 显示全部楼层
没有用的,显示不了!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 08:45 , Processed in 0.030340 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表