文件太多,代码不懂,无从下手啊,所以,另辟蹊径,从数据表入手。
通过追踪相关字段值的变化,来发现问题,有时候真的不失为一种好方法。
这不,通过数据表发现了同一个帖子拆分前后的变化:
如上图,帖子pid19257原是主题tid2730的帖子,位于版块fid21;
拆分后,变成主题tid3256的帖子,然而,
版块fid没有变化。 如图,编辑拆分后的帖子,提示“帖子ID非法”,网址如上;
如果修改版块的fid值48为21(
也就是数据表里的正确数据),则可以正常编辑。
==================分隔线====================
2019年2月17日补充:
因更新月份文档需要,查看这个主题,上面的两个附件图片及上面的文字内容把我看得一头雾水,总感觉哪里不对。上图后面的文字说明让我给弄反了?经过查看后面的帖子,以及再次分析,原来是我当初的说明(理解)有问题!上面例子中,
“也就是数据表里的正确数据”这个说明不对:正确数据应该是48,21只是数据表中的记录数据。 手机版可以编辑拆分后的帖子,因为它不需要版块fid参数。而按照原始程序文件,它并没有更新拆分后帖子该在的版块fid值。电脑版的帖子编辑地址当然是完全正确的,但由于数据表中记录的版块fid没有更新为准确的数据,也就是实际数据与记录数据不一致(因编辑和查询要求的版块fid不一致,数据表查询无结果),所以无法编辑,提示帖子ID非法。
更新补充内容,见
48楼。
==================分隔线====================
说明了什么?
说明问题并不在文件上,而是在拆分操作上! 拆分后主题tid变化了(拆分操作时要求输入的主题tid值),但版块fid没有更改为正确的版块fid,所以问题的根源在于写入数据表时没有更新版块的fid值。这个只能是像要求输入主题tid值一样,添加要求输入版块fid值(不可能通过输入的主题tid值来自动获取到目标主题所在版块fid,实现起来不太现实,只能是手工输入)。然后,研究下是如何写入数据表的,把fid一并写入就正确了。