为从另一个查询中提取的每个记录运行新查询

时间:2013-04-07 20:45:28

标签: php mysql

我目前有这个查询

try
{
$park_id = $_GET['park_id'];
$query3="SELECT * FROM  `tpf_rides` WHERE  `park_id` = $park_id ORDER BY `name` ASC";
$result3 = $pdo->query($query3);
}
catch (PDOException $e)
{
$output = 'Unable to pull rides.';
include 'output.html.php';
}

结果显示在这里

<?php foreach ($result3 as $row3): ?>

<h2 style="display:inline;"><?php echo $row3['name']; ?></h2><h3 style="display:inline;"> - <?php echo $row3['type']; ?></h3> 
<h3>Manufactured by <?php echo $row3['make']; ?>, Opened <?php echo $row3['opened']; ?> </h3>
<br>

<?php endforeach; ?>

我的问题是这个。我有每张车的多张照片,其网址存储在表tpf_images中。连接列是ride_id,可在tpf_rides和tpf_images中找到。如何运行查询,以便在上面的foreach循环中,它还会为每次骑行拉出所有连接的图像URL,然后可以将其显示为循环的一部分?

请尽可能清楚我还在学习PHP! 谢谢。

1 个答案:

答案 0 :(得分:3)

结帐LEFT JOIN获取mysql。

所以你的查询看起来像这样:

SELECT *
FROM tpf_rides
LEFT JOIN tpf_images
ON tpf_rides.ride_id=tpf_images.ride_id 
WHERE park_id = $park_id
ORDER BY `name` ASC