已登錄的用戶有userid
= 8。我希望查詢返回產品表中的所有行,但如果userid
= 8已投票,則不顯示類似或不喜歡的代碼。JOIN不檢索行
在下面的查詢中沒有行被返回。我不應該在投票表中插入每個用戶標識(每個產品的用戶太多)。什麼是正確的方法來做到這一點?
$query= mysql_query("SELECT rate.voted as rvote, child.* FROM products child JOIN vote rate on child.id=rate.parentid WHERE rate.userid='8'") or die(mysql_error());
投票表
id | parentid | userid | voted |
1 | 1 | 6 | 1 |
2 | 2 | 6 | 1 |
3 | 1 | 4 | 1 |
4 | 3 | 6 | 1 |
產品表
id | name |
1 | bottled |
2 | grain |
3 | milk |
4 | bread |
PHP
while($row=mysql_fetch_assoc($query)) {
$name = $row['name'];
$vote = $row['rvote'];
echo $name;
if($vote!=1) {
//like or dislike code
}
}
它應該是'...(從投票中選擇parentid ...「。另外,如果這些值只是可能值,則'和(voteed = 0 || voteed = 1)'不是必需的。 – Furgas 2012-02-23 19:40:18