日期:2014-05-16  浏览次数:20435 次

像百度贴吧回复这种数据分页怎么弄?
本帖最后由 csy19871106 于 2014-03-09 23:08:27 编辑

这样的。

比较蠢的办法是这样。
回复表 reply 有个parentid, parentid为0是回复主题,parentid不为0则是回复该楼层。
如果每页10条,则读parentid=0的,先填充主题回复。for循环绑定每个主题回复的时候里面再去select parentid等于该楼层replyid的。

string main_sql="select * from reply where parentid=0";
for(int i=0;i<reply_dt.Rows.Count;i++)
{
    string sql="select * from reply where parentid="+reply_dt.Rows[i]["replyid"];
}
但上述办法效率太低了。
如果只有楼层,没有楼层回复的话分页就简单,只要读每页显示固定数量,然后分页就行了。
 
请问各位大神有类似的经验吗?分享给小弟。


------解决方案--------------------
一般主贴和回复是分开的两个表,然后回复和主贴ID,上层ID,层级,层级路径

关联回贴,回贴可以按层级路径进行排序