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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[求助] 我想实现帖子列表页调用图片或者图片封面,请问这个方法有问题么

[复制链接]
babyfacer 发表于 2020-11-12 01:16:29 | 显示全部楼层 |阅读模式
本帖最后由 babyfacer 于 2020-11-17 18:45 编辑

我想实现帖子列表页调用图片或者图片封面,请问这个方法有问题么

目前遇到的情况是有时候调用失败,有时候调用成功,但是帖子编辑一下又调用不出来了,或者就是使用远程图片下载后的附件无法被调用,或者就是帖子A没有图片,然后发一个新帖子A1,有图片,结果在列表页,帖子A调用了A1的图片。或者就是把某个带图片的帖子设置成全局置顶,那某个板块的帖子(没有图片,之前是正常显示),就重复调用出了置顶帖的图片
上面这个帖子是有图片的,下面的帖子是纯文字的,但是后面这个帖子发布之后,前面的帖子也调用出图片来了


代码是我网上找的,做了细微调整

【有人说使用数据库版本过高可能出现这样的情况,但是我暂不方便找低版本数据库做测试,所以先找大家帮忙看看这个实现此功能的代码是否有问题】

两个环境都是X3.5
一个是 Linux / PHP v7.4.10  nginx/1.19.2  MySQL5.6.49-log
一个是 Linux / PHP v7.4.12  nginx/1.19.4  MySQL8.0.18

谁帮我看看是哪里的问题呢

  1. <!--{eval $tbid = DB::result(DB::query("SELECT tableid FROM ".DB::table('forum_attachment')." WHERE `tid`= '$thread[tid]' AND `uid`= '$thread[authorid]';"));}-->
  2. <!--{if $tbid != ''}-->
  3. <!--{eval $picount = DB::fetch_all("SELECT aid FROM ".DB::table('forum_attachment_'.$tbid.'')." WHERE `tid`= '$thread[tid]' AND `uid`= '$thread[authorid]' AND `isimage`=1 AND `thumb`=1;");}-->
  4. <!--{eval $picnum = count($picount);}-->
  5. <!--{if $picnum < 1}-->
  6. <!--{eval $litpicnum = '0';}-->
  7. <!--{elseif $picnum > 0 && $picnum < 2}-->
  8. <!--{eval $litpicnum = '1';}-->
  9. <!--{elseif $picnum > 2 && $picnum < 4}-->
  10. <!--{eval $litpicnum = $picnum;}-->
  11. <!--{elseif $picnum > 3 && $picnum < 8 }-->
  12. <!--{eval $litpicnum = '4';}-->
  13. <!--{elseif $picnum > 7}-->
  14. <!--{eval $litpicnum = '8';}-->
  15. <!--{/if}-->
  16. <!--{if $litpicnum}-->
  17. <!--{eval $covers = DB::fetch_all("SELECT attachment,aid,description FROM ".DB::table('forum_attachment_'.$tbid.'')." WHERE `tid`= '$thread[tid]' AND `uid`= '$thread[authorid]' AND `isimage`=1 AND `thumb`=1 LIMIT 0,$litpicnum;");}-->
  18. <!--{/if}-->
  19. <!--{/if}-->        
复制代码



模板调用:
  1.                                                                 <!--{if $picnum}-->

  2.                                                                         <!--{loop $covers $thecover}-->
  3.                                                                         <!--{if $litpicnum == 1}-->
  4.                                                                                 <a></a>
  5.                                                                         <!--{elseif $litpicnum > 1}-->
  6.                                                                                 <a></a>
  7.                                                                         <!--{/if}-->
  8.                                                                         <!--{/loop}-->

  9.                                                                 <!--{/if}--> <!--帖子列表页调用图片-->
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

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

本版积分规则

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

GMT+8, 2024-11-24 17:20 , Processed in 0.019058 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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