codeigniter, передающий некоторый идентификатор для отображения количества комментариев для сообщения pasticular - PullRequest
1 голос
/ 22 марта 2011

Я создаю простую публикацию и комментирование блога, следуя инструкции codeigniter для блога . Теперь я пытаюсь реализовать комментарий на стене в Facebook, как на одной странице, используя jquery ajax, мне удалось сделать пост на стене и пост комментария на каждой стене, а также сгруппировать комментарии в соответствующий пост, но у меня проблема отображения количества комментариев для каждой стены, я думаю, что делать что-то вроде этого

Модель:

function count_for_post($post_id){
    $query = $this->db->query("SELECT COUNT( id ) FROM comments WHERE post_id = ".$post_id);
    return $query; 
}

Контроллер:

function comments(){
    $data['comment_query'] = $this->commentmodel->count_for_post($post_id);
    $this->load->view('content/post/comment_view', $data);
}

как мне передать эти $post_id параметры с моей точки зрения (пока все, что я могу придумать)

поскольку мой пост-контроллер такой:

function index(){
    $data['post_query'] = $this->postmodel->get_desc();
    $this->load->view('content/postview', $data);
}

и единственный способ, которым я могу получить конкретный идентификатор для каждого сообщения, - это цикл $post_query на мой взгляд.

Я хочу отобразить что-то вроде

contents of Post 1
    contents of comment regarding post1
    contents of comment regarding post1
    contents of comment regarding post1

    view all count($this->commentmodel->count_for_post($post_id))

contents of Post 2
    contents of comment regarding post2
    contents of comment regarding post2
    contents of comment regarding post2

    view all count($this->commentmodel->count_for_post($post_id2))

contents of Post 3
    contents of comment regarding post3
    contents of comment regarding post3
    contents of comment regarding post3

    view all count($this->commentmodel->count_for_post($post_id3))

, пожалуйста, помогите мне с реализацией "наилучшего практического" способа сделать это, а именно: что я должен написать на моей модели, моем контроллере и моем виде.

С наилучшими пожеланиями

1 Ответ

2 голосов
/ 22 марта 2011

Вы не должны использовать count() для подсчета комментариев!Просто посчитайте возвращенные строки, используя num_rows(), который был создан для этой цели.

например:

<?php 
    $count_comments = $this->db->query("SELECT * FROM comments WHERE post_id = ".$post_row['id']);
    echo $count_comments->num_rows();
?>
...