我还是相当陌生的mysql,并希望寻求帮助。
用户表
idusers name other_info
1 Test Last email
2 True Blue phone
3 False Name phone
4 Purpose Test email
喜欢表格
id idusers iditems
1 1 3
2 1 4
3 1 4
4 2 3
5 3 3
6 2 1
目前我在mysql中设置了这个表,并且idusers应该在我的语法中匹配,以获取有关那些喜欢这些特定项目的特定用户的信息。
我目前有类似的东西
$liked_users = $dbh->query("SELECT users.idusers,likes.idusers FROM users,likes WHERE users.idusers = likes.idusers");
这应该匹配正确吗?
但我正在尝试输出一些JSON数组,其中用户的这些数据应该属于某些iditems
while($row = $items-> fetch(PDO::FETCH_ASSOC)){
//$get_liked_idusers = $liked_idusers->fetchAll(PDO::FETCH_ASSOC);
//$liked_users ->execute(array($get_liked_idusers));
$json['data'][] = array(
'id'=>$row['iditems'],
"likes" => array(
"data"=>$liked_users -> fetchAll(PDO::FETCH_ASSOC) //users should be displayed only if they liked the item that is going through this while loop only.
)
);
}
所以我试图在"data"
数组中输出有关用户的信息,它应该遵循iditems。而且我不确定如何这样做,因为我不认为在我的第一个AND iditems = ?"
mysql语法中添加“$liked_users
将会起到要求获得两个不同表格的作用。”
我希望我的问题很清楚?
提前致谢!
答案 0 :(得分:1)
你可以做这样的事情
$liked_users = $dbh->query("SELECT users.idusers,likes.idusers,likes.iditems FROM users,likes WHERE users.idusers = likes.idusers")
因为您的查询应该包含您希望循环遍历json数据的许多字段