$sql=mysql_query("SELECT a.ssmid, a.image,b.ssmid,b.image,c.ssmid,c.image FROM a user_photos_offline INNER JOIN user_profile_pic b on a.ssmid = b.ssmid INNER JOIN user_family_photos c on a.ssmid = c.ssmid");
while($row=mysql_fetch_assoc($sql)){
echo $row['image'];
}
我想从DB中选择所有图像,我有3个表,这些是表名user_photos_offline
,user_profile_pic
,user_family_photos
,所有表的列名都是image
在3个表中,我有ssmid
的相同列,现在我想为这3个表选择图像
答案 0 :(得分:0)
要单独参考图像,请使用AS
:
SELECT
a.ssmid, a.image AS a_image,
b.ssmid, b.image AS b_image,
c.ssmid, c.image AS c_image
FROM user_photos_offline a
INNER JOIN user_profile_pic b on a.ssmid = b.ssmid
INNER JOIN user_family_photos c on a.ssmid = c.ssmid
在PHP中,您的索引将更改为这些标识符:
while($row=mysql_fetch_assoc($sql)){
echo $row['a_image'];
echo $row['b_image'];
echo $row['c_image'];
}
答案 1 :(得分:0)
如果您的每个表ssmid
,user_photos_offline
和user_profile_pic
中user_family_photos
之间没有任何关系,则无需使用INNER JOIN
。请改用UNION
:
$sql=mysql_query(
"SELECT ssmid, image, CONCAT('folder1/', image) as image_filename FROM user_photos_offline
UNION
SELECT ssmid, image, CONCAT('folder2/', image) as image_filename FROM user_profile_pic
UNION
SELECT ssmid, image, CONCAT('folder3/', image) as image_filename FROM user_family_photos"
);
while($row=mysql_fetch_assoc($sql)){
echo $row['image'];
echo $row['image_filename'];
}