私は自分のサイトに 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 ;