我是MySQL和php的新手,我正在绕着这个轴缠绕。我已经工作了几个小时,无法获得理想的结果。请帮忙?我开始的是:
$query = sprintf('select image_id, filename from images');
$result = mysql_query($query);
$images = array();
while ($row = mysql_fetch_array($result)) {
$id = $row['image_id'];
$images[$id] = $row['filename'];
echo $images[$id];
}
我有三张桌子:
上面的脚本将拉出数据库中的所有文件名和image_id。我需要将结果限制为与引用表中的submission_id匹配的图像行。我已经在sprintf函数中尝试了各种JOINS无济于事,现在我甚至无法通过简单的mysql_query获得我想要的结果。在我拔掉头发之前,有人可以让我走上正确的道路。我需要在这里加入所有三个表还是足以加入图像和imagsub表?我在一个名为$ item的变量中需要submission_id,该变量是从上一页中提取的,所以也许我根本不需要提交表,只需要来自imagsub的外键?
答案 0 :(得分:0)
尝试:
select image_id, filename from images i
join imagesub s on s.image_id = i.image_id
where s.subbmision_id = $1;
您需要将$ 1参数设置为您在请求中收到的“$ item”值。
答案 1 :(得分:0)
尝试将此作为查询以获取所有这些
select s.submission_id, b.image_id, i.filename
from submissions s
inner join imagsub b on b.submission_id = s.submission_id
inner join images i on i.image_id = b.image_id
答案 2 :(得分:0)
你试过吗
select image_id, filename from images
join imagsub on images.image_id = imagsub.image_id
where imagesub.submission_id = YourID