2012-12-25 64 views
1

我有這些表:我應該如何加入這些表MySQL?

報告:

id, ip_addr, upload_id 

上傳:

id, userID, name, location, category, private 

基本上我顯示所有上傳的視頻和我想加入的報告表,以確定當前用戶的ip_address報告了上傳(我將在查詢後比較ip_addr)。我遇到的問題是,可能有多個報告針對同一上傳,並且由不同的人(不一定是註冊用戶,這就是爲什麼我使用ip_addr)。那麼我將如何設置這個MySQL查詢,以及如何在循環中執行以下操作..?

PHP:($事情會查詢結果)

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" '; 

回答

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)

+0

我在報告表中記錄了ip_address而非用戶標識,因爲它不一定是報告的註冊用戶。我不確定你明白我在問什麼... – KraigBalla

+0

那麼,將其更改爲用戶IP? ...... –

+0

我更改了僞代碼 – KraigBalla