我对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数组,其中用户的数据应该属于特定的模式
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"
数组中输出有关用户的信息,并且该信息应遵循这些惯用法。而且我不确定该怎么做,因为我不认为在第一个AND iditems = ?"
mysql语法中添加“ $liked_users
”会因为要求获取两个不同的表而起作用。我希望我的问题清楚吗?
提前致谢!
最佳答案
你可以做这样的事情
$liked_users = $dbh->query("SELECT users.idusers,likes.idusers,likes.iditems FROM users,likes WHERE users.idusers = likes.idusers")
因为您的查询应该具有要遍历json数据的许多字段
关于php - 数组的MySQL语法可能需要加入?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11140117/