1

ID = '3' の商品のコメントを読み込んでいます

$get_comments = mysql_query("SELECT * FROM  products_comments WHERE product_id = '3'");

ここで、各コメントに「不正行為を報告する」オプションを追加したいと思います。この目的のために、abuse_reportsユーザーの不正行為レポートがこのテーブルに保存される別のテーブルを「」として持っています。ユーザーがコメントを報告した場合、report abuseオプションはそうではありません。そのユーザーのそのコメントにはもうそこにいてください。これのために私はやっています:

while($row = mysql_fetch_array($get_comments)){
   echo blah blah blah // comment details
   // now for checking if this user should be able to report this or not, i make this query again:
   $check_report_status = mysql_query("SELECT COUNT(id) FROM abuse_reports WHERE reporter_user_id = '$this_user_id' AND product_id = 'this_product_id'");
   // blah blah count the abuse reports which the current user made for this product
   if($count == 0) echo "<a>report abuse</a>";
}

上記のコードでは、コメントごとに新しいクエリを作成していますが、それは明らかに間違っています.2番目のクエリを最初のクエリと結合するにはどうすればよいですか?

ありがとう

4

3 に答える 3

0

このようなクエリを探していると思います。

SELECT pc.*, COUNT(ar.*) 
FROM  products_comments AS pc
LEFT JOIN abuse_reports AS ar ON reporter_user_id = pc.user_id AND ar.product_id = pc.product_id
WHERE product_id = '3'"
于 2013-06-28T07:46:20.877 に答える