Discuz 的手工插入贴子的方式,这只是一个程序代码的一部分,不过足以分析其原理,在网上搜索资料好久却一直找不到相关的资料,今天直接进行开源程序的研读,总算找到了原因。问题有2 个,
一个是首页的更新数据不正常,解决方法是需要更新_forum表
第二个是在后台批量删贴时不正常,解决的方法是first=1表示是主题的首贴
参考代码如下:
$db->query(”SET NAMES GBK”);
$db->query(”INSERT INTO {$tablepre}threads (tid, fid, author, authorid, subject, dateline, lastpost, lastposter) VALUES (’$tid’, ‘$fid’, ‘$author’,'$authorid’, ‘$subject’, ‘$dateline’, ‘$dateline’, ‘$author’)”,’UNBUFFERED’);
$db->query(”INSERT INTO {$tablepre}posts (first,tid, fid, author, authorid, subject, dateline, message,useip) VALUES (‘1′,’$tid’, ‘$fid’, ‘$author’,'$authorid’, ‘$subject’, ‘$dateline’, ‘$message’, ‘$useip’)”,’UNBUFFERED’);
$db->query(”UPDATE {$tablepre}forums SET lastpost=’$tid\t$subject\t$dateline\t$author’, threads=threads+1, posts=posts+1, todayposts=todayposts+1 WHERE fid=’$fid’”,’UNBUFFERED’);

