对于很多使用discuz论坛运营的站长们,初始为了吸引人气可能会有多个管理账号,但正常后由于精力有限无法同时兼顾几个账号,有时用其中一个管理员账号发过贴后,后因为特别需要把此管理员的所有主题贴改为指定用户。
本方法就是为了方便站长及管理员将指定用户的帖子更改为指定的用户名下。比如:某管理员发了很多主题帖,但发现这些主题帖应该使用其它帐号发的。传统方法是删除了再发过,但很浪费时间而且重复劳动,也容易出错。
修改dz论坛主题的发帖人为指定用户的方法特别适合于某管理员发现错用帐号发帖,需要更改该帖为指定的发贴人。
一、修改发帖人为指定用户的具体方法如下:
1、通过phpadmin管理mysql数据库,在discuz数据库中找到" dx_forum_thread"数据表,这是论坛主题表,这个主题表是用来记录主题的发帖人、发帖时间等,会体现在论坛版块列表中。
2、通过“author”字段值找到需要修改的用户名,例如查找用户为“abc”的所有主题贴,对应的SQL语句为:
SELECT * FROM `dx_forum_thread` WHERE `author`='abc';
3、然后通过 update replace 替换命令, 修改字段 author、authorid 两个字段的值 ,把author字段的值原会员用户名“abc”替换为指定的会员用户名,authorid字段的值也相应替换为新用户的UID值。对应的SQL语句为:
update dx_forum_thread set author=replace(author,'abc','灰儿');
update dx_forum_thread set authorid=replace(authorid,2936,8);
执行完成后就可以看到在论坛版块主题列表中对应主题的发帖人信息已更改,如不变化可后台更新缓存。
4、在discuz数据库中找到" dx_forum_post"数据表,这是论坛帖子内容表,这个帖子表是用来记录帖子内容页中的发帖人信息包括帖子的具体内容。
5、通过“author”字段值找到需要修改的用户名,例如查找用户为“abc”的所有主题贴,对应的SQL语句为:
SELECT * FROM `dx_forum_post` WHERE `author` = 'abc';
6、然后通过 update replace 替换命令, 修改字段 author、authorid 两个字段的值 ,把author字段的值原会员用户名“abc”替换为指定的会员用户名,authorid字段的值也相应替换为新用户的UID值。对应的SQL语句为:
update dx_forum_post set author=replace(author,'abc','灰儿');
update dx_forum_post set authorid=replace(authorid,2936,8);
执行完成后就可以看到帖子内容页中的发帖人信息已更改,如不变化可后台更新缓存。
二、修改回帖人为指定用户的具体方法如下:
1、通过phpadmin管理mysql数据库,在discuz数据库中找到" dx_forum_thread"数据表,这是论坛主题表,这个主题表是用来记录主题的发帖人、发帖时间、最后回贴人等,会体现在论坛版块列表中。
2、通过“lastposter”字段值找到需要修改的最后回贴人用户名,例如查找用户为“abc”的所有主题贴,对应的SQL语句为:
SELECT * FROM `dx_forum_thread` WHERE `lastposter`='abc';
3、然后通过 update replace 替换命令, 修改字段 lastposter 这个字段的值 ,把lastposter字段的值原会员用户名“abc”替换为指定的会员用户名,对应的SQL语句为:
update dx_forum_thread set lastposter=replace(lastposter,'abc','灰儿');
至此就彻底把某个用户的所有主题帖和最后回贴会员名修改为指定用户了。熟悉后可以直接通过SQL执行以上代码就可以实现批量修改了。
|
|