0

我正在一个在线论坛上工作,无论是注册用户还是未注册用户,任何人都可以对特定主题/文章等发表评论......

因此,当用户(注册/未注册)留下他们的评论时,我们有一个后台管理员批准的流程......

所以我的问题是,当用户留下他们的评论时,我想保留他们的评论,直到他们的评论被管理员批准或会话生效

同一个用户可以对一个主题/文章发表一条评论或多条评论......在同一页面上,其他用户会留下不同的评论,这些评论是由管理员批准的......

我想知道最好的处理方法是什么?

例子:

[some topic here.........................
 ...................................................]

*comments:*

abc ............................... [pendign approval] //this data will be coming from session

xxxxxxxxxxxxxx......................[approved] //all the approved coming from db

aaaaaaaaaaaaaaaaaa..................[approved]
............
..................
.................
4

2 回答 2

2

我认为您不应该为此依赖会话。您可能应该在表中存储具有不同状态的评论状态。

例如:当新发表评论时,将其保存到数据库中,状态为 0 /“待处理”

Wen 管理员批准,将其更改为 1/“已批准”

如果管理员拒绝,请将其更改为 -1/“拒绝”/如果您不想再存储记录,请删除该记录

当页面加载时(对于所有用户/公众),获取按状态过滤的记录

SELECT ID,COMMENT FROM COMMENTS WHERE STATUS=1 AND POST_ID=@postId

当页面加载时(对于所有发布评论的用户),获取按状态过滤的记录(现在也包括待处理)

SELECT ID,COMMENT FROM COMMENTS WHERE 
 ((STATUS IN =1)
 OR (STATUS =0  AND CREATED_BY=@currentUserId)) 
 AND POST_ID=@postId
于 2012-05-04T20:46:43.383 回答
0

您需要自动为匿名用户分配一个帐户(类似于注册用户的帐户)。当用户注册时,您可以升级他们的帐户。通过这种方式,可以使用相同的过程来显示来自两者的评论。

于 2012-05-04T20:45:51.550 回答