我应该如何加入MySQL这些表?

时间:2012-12-25 03:03:26

标签: php mysql

我有这些表格:

报告:

id, ip_addr, upload_id

上载:

id, userID, name, location, category, private

基本上我正在显示所有上传,我想加入报告表以确定当前用户的ip_address是否报告了上传(我将在查询后比较ip_addr)。我遇到的问题是,同一个上传可以有多个报告,不同的人(不一定是注册用户,这就是我使用ip_addr的原因)。那么我如何设置这个MySQL查询以及如何在循环中执行以下操作..?

PHP :( $ thing将是查询结果)

foreach((array)$things as $files){
    if ($files['ip_addr'] == $user_ip_addr) {
         // display upload info and an already reported image
    } else {
         // display upload info with an unreported image
    }
}

到目前为止,我有这个,显示所有上传

$query = 'SELECT * FROM upload WHERE private="0" ';

1 个答案:

答案 0 :(得分:0)

只有多个标识符。 表结构与此类似:

表'报告'

reported_by = user id 
reported_id = upload id
id = primary index

您的查询可能是这样的:

SELECT COUNT(*) as `rows` WHERE reported_id = ? AND reported_by = ?

Et瞧,

<?php
    if($rows['rows'] > 0) // they reported it
        echo 'Tattle tale.';
    else
        echo 'Snitches get stitches.';
?>

?是未命名的参数(假设您使用的是mysqli或pdo)