6

この問題を手伝ってくれる人が必要です。私の頭は今日、まっすぐに考えたくない。

したがって、「recensions」という名前のテーブルと、「comments」という名前の別のテーブルがあります。各テーブルには、「amne_id」という名前の列があります。これにより、コメントを正しいリセンションに接続できるようになります。

さて、最初のページで、コードを使用してすべてのレセンションを取得するだけです:

$rec = $this->db->get('recensions');

私が欲しいのは、各リセンションのコメント数を数えることです。しかし、方法がわかりません。JOIN と num_rows() を使用する必要があると思いますか?

わからないことがあれば質問してください。もっと詳しく説明します。

良い1日を!

4

3 に答える 3

2
$this->db->select('COUNT(*) as count, recensions.anme_id as recension_id')
->from('recensions')
->join('comments','recensions.anme_id = comments.anme_id','left')
->group_by('anme_id');
$result = $this->db->get();

Recensions id とその id のコメント数が表示されます。

次にループします:

foreach($result->result() as $row){
    echo "Recension id $row->recension_id has $row->count comments<br />";
}
于 2012-11-14T19:49:58.783 に答える
0

このような??

$sql = mysql_query("SELECT * FROM recensions");
while($row = mysql_fetch_array($sql)){
$amne_id = $row{"amne_id"};
$sql2 = mysql_query("SELECT * FROM comments WHERE amne_id='$amne_id'");
$total_comments = mysql_num_rows($sql2);
echo $total_comments;
}
于 2012-11-14T20:41:45.277 に答える
0

使用しているデータベース コネクタについてはわかりませんが、純粋な SQL (connection recensions.id=comments.anme_id接続を想定) では、これを試してください。

SELECT COUNT(comments.id), anme_id
FROM recensions
LEFT JOIN comments on comments.anme_id=recensions.id
GROUP BY anme_id
于 2012-11-14T18:49:02.570 に答える