做一个类似微博的程序,想知道怎样获取所有我收到的评论

xiaochunhao 2015-09-25 10:30:15
我做一个类似新浪微博的程序,我想获取我收到的评论。因为评论有别人对我发的微博的评论,也有我去别人微博下面发的评论然后别人回复我的评论,请问怎样获取所有这些评论?现在数据表(评论表)有这样几个自字段 :id(评论id),uid(评论发布者),content(评论内容),wid(评论所属微博id)
...全文
140 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
misaka去年夏天 2015-09-25
  • 打赏
  • 举报
回复
楼主是不是在做后盾微博的那个项目??我当时是这么改的,你可以参考我的代码注释。最后能够取出“我”发的评论和“我”收到的所有评论,代码如下:
	/**
	 * 展示评论列表
	 */
	public function comment(){

		//重置缓存
		set_msg(session('uid'), 1, true);

		//取出我发的微博的id
		$my_uid = session('uid');
		$wids = M('weibo')->where(array('uid'=>$my_uid))->field('id')->select();

		//取出我参与评论的微博的id
		$comment_db = M('comment');
		$other_wids = $comment_db->where(array('uid'=>$my_uid))->field('wid AS id')->select();
		
		//合并所有需要取出的微博id
		$wids = array_merge_recursive($wids, $other_wids);
		foreach($wids as $k=>$v){
			$wids[$k] = $v['id'];
		}
		$wids = array_unique($wids); //合并后去重复

		//根据wid取出comment表的id,uid,content,time等信息,再把comment表的id取出
		$uids = $comment_db->where(array('wid'=>array('IN', $wids)))->select();
		foreach($uids as $k=>$v){
			$cids[$k] = $v['id'];
		}
		
		//根据comment表的id取出评论
		$db = D('CommentView');
		$where = array('comment.id'=>array('IN', $cids));

		//分页
		$count = $db->where($where)->count();
		import('ORG.Util.Page');
		$page = new Page($count, 10);
		$limit = $page->firstRow . ',' . $page->listRows;

		$comment = $db->where($where)->order('time DESC')->limit($limit)->select();
		
		//分配变量到模板
		$assign = array('count'=>$count, 'comment'=>$comment, 'page'=>$page->show());
		$this->assign($assign);
		
		$this->display();
	}

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧