我计划在我的网站上建立一个类似 facebook 的墙贴系统。我正在研究 codeigniter mysql 和 jQuery。
现在这是我的问题:一旦用户来到主页,我就会加载所有帖子。我创建了另外 2 个表格,分别是评论和点赞,用于帖子的点赞和评论。
如果我使用 jQuery 和 json 加载所有帖子,我将如何加载该特定帖子的所有喜欢和评论?
这是我的代码:
模型
function load_all_activities()
{
$this->db->select('*')->from('activity_board');
$this->db->order_by("created_time", "desc");
$this->db->limit(20);
$this->db->join('profile', 'profile.user_id = activity_board.user_id');
$query = $this->db->get();
$data=array();
foreach ($query->result() as $row){
$row->createdtime=$this->timeago($row->created_time);
// $row->age=$this->birthday($row->birthday);
$data[]=$row;
}
return $data;
//return $query->result();
}
控制器:
function load_activities(){
$data=$this->users->load_all_activities();
echo json_encode($data);
}
看法:
//Jquery load activities posts
function load_activities(){
$.post("<?=base_url()?>home/load_activities", function(data){
$(data).each(function(index, item) {
$(item).each(function(index, value) {
$("#wallposts").append('<div id="postContainer"> <div id="postPic"><a href=""><img src="'+value.picture_thumb+'"/></a></div> <div id="postMsg"><a href="#"><b>'+value.first_name +'</b></a> ' + value.message+'<br/><br/><a href="#">Like</a> · <a href="#">Comment</a> · '+value.createdtime+'<div id="deleteMsg">X</div> </div></div>');
});
});
},"json");
}
这是我的mysql表
CREATE TABLE `activity_board` (
`activity_id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`message` text NOT NULL,
`created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`activity_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
CREATE TABLE `activity_comments` (
`comment_id` int(11) NOT NULL AUTO_INCREMENT,
`comment` text NOT NULL,
`avtivity_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`comment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;