我有用户表和地址表。
我需要编写一个mysql查询,如:
SELECT * FROM users
LEFT JOIN addresses
ON users.user_id = addresses.user_id
WHERE users.user_id = 32;
这个用户有多个地址,我想循环遍历php中的地址,同时循环访问下面的用户数据:
foreach($users as $user){
echo $user['username'];
foreach($user['address'] as $address){
echo $address['street_address'];
}
}
请帮我写正确的mysql查询,谢谢。
答案 0 :(得分:0)
将地址视为单独的表格。
由于您需要地址表中的所有行,为什么不使用from addresses
这样的:
select users.username,addresses.address from addresses as a right join users as u on u.user_id = a.user_id where u.user_id = 32;
答案 1 :(得分:0)
此查询从table_address中提取所有地址,其中table_user的链接使用userid并经过验证。
SELECT tables_address.address FROM tables_address
INNER JOIN tables_user on tables_user.userid = tables_address.userid
WHERE tables_address.userid = X
我建议您使用JSON格式格式化查询结果 {"数据":[{" aaa"," bbbb"},{" aaa"," bbbb"} ,....]}然后使用PHP的json函数来处理返回数据