ログインしているユーザーのホスト名がuserid
= 8です。 userid
= 8が投票した場合、商品テーブルのすべての行を返すようにクエリを設定しますが、好き嫌いのコードは表示しません。JOINがローを検索していません
以下のクエリでは、行は返されません。投票テーブルに各ユーザーIDを挿入する必要はありません(各製品にはユーザーが多すぎます)。これを行う正しい方法は何ですか?
$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を選択してください。)また、'(voted = 0 || voted = 1) 'は値だけが可能な場合は不要です。 – Furgas