首页| 版块| 我的| 发帖| 消息
主题:关于取消加亮操作的初步探索和编辑拆分后的帖子提示“帖子ID非法”解决方案
zhangjingyu 
“上面部分的代码我没有修改(我只修改了下面”//回复操作“后面的代码),不过,按你的修改后也没什么影响。这个拆分操作400多行代码,真的够复杂的。个人猜想,可能有部分代码实际上可能用不到,比如这个帖子中说到的两个地方的代码就很相近。”(引用内容)说下我的修改方案,别笑啊,够笨的:
1.在模板中增加写入splifid;
2.帖子中第二部分的代码改为:
//回复操作
$pidsStr  = S::sqlImplode($pids);
if($pw_posts == $pw_posts_tid){ //如果回复数在同一post表
    if($pidsStr){
    /*20170305更新,写入目标主题所在版块,解决拆分并入帖不能编辑问题*/
if ($splittype ==1 ) {/*拆分后并入,else为拆分为新帖也是原代码,编辑正常。这是两种情况,所以需要分类更新。20170306*/
    $db->query("UPDATE $pw_posts_tid SET tid = ".S::sqlEscape($splitid).",fid = ".S::sqlEscape($splifid)." WHERE  pid in ($pidsStr)");
}else{
    $db->query("UPDATE $pw_posts_tid SET tid = ".S::sqlEscape($splitid)." WHERE  pid in ($pidsStr)");
    }}
/*20170306 end*/
}else{ //临界情况 回复分布在不同的post表中我是用”fid = ".S::sqlEscape($splifid)."“通过手工输入的版块fid更新,而你(注:指pw官方会员,魅惑乐趣,见115楼)的是”fid = ".S::sqlEscape($result['fid'])."“不用修改模板,更高效,更简单,更直接(我的就比较笨了)。不过,这里面我加了拆分目的判断,因为原文件拆分新帖正常,拆分并入别的主题后不能编辑;如果按你和我上面的方法强制更新版块fid会导致拆分后并入帖可以编辑了,但多帖拆分新帖后回复帖不能编辑。因为更新语句中需要强制更新版块fid,而它是通过目标主题tid获取的:
$result = $db->get_one("SELECT tid,fid,postdate,author FROM pw_threads WHERE tid = ".S::sqlEscape($splitid));这就导致版块fid无法获取,只能更新为0,所以回复帖不能编辑。所以最后,这里面需要加入拆分目的判断,分情况更新数据表。

106楼的图片调用下(2019.2.17补充调用图片)
zhangjingyu回帖于2017-03-13 17:19[查看电脑版]
下一楼»://ruinjoy 缩略图
global $db_ifathumb,$db_athumbsize;
if($db_ifathumb){
 & ..
«上一楼:这个拆分管理又重新做了修改,经测试应该没问题了(之前我的修改方案也是没问题的,只是这回的修 ..

查看全部回帖(136)
«返回主帖