所以我在数据库中有这些表:
fish(id,f.name,image,cooking_type_id)
cooking_type(id,name,thumbnail)
如果我显示所有鱼类的列表,如何为type_id显示正确的缩略图?
我遇到了找到正确信息的麻烦。现在我坚持这个问题:
$query = "SELECT `f.name`, `image`, `type_id`
FROM fish";
$result = $mysqli->query($query);
$mysqli->set_charset("utf8");
while($row = mysqli_fetch_array($result)){
echo '<div class="row" style="background-color:#fff;">';
echo '<div class="col-sm-2">';
echo '<div class="listphoto">';
echo $row['image'];
echo '</div></div>';
echo '<div class="col-sm-2">';
echo '<div class="listtext"><h3>';
echo $row['f.name'];
echo '</a></h3></div></div>';
echo '<div class="col-sm-2">';
echo '<div class="typethumbnail">';
echo '';
echo '</div></div>';
答案 0 :(得分:1)
您想要此查询。
SELECT f.name, f.image, c.thumbnail
FROM fish f
JOIN cooking_type c ON f.cooking_type_id = c.id
您使用ON
操作中的JOIN
子句来表达fish
行与cooking_type
行的关系。
如果您有多个表,则可以使用一系列JOIN操作来关联它们。例如:
SELECT f.name, f.image, c.thumbnail, m.market_name, m.price, p.pan_type
FROM fish f
JOIN cooking_type c ON f.cooking_type_id = c.id
JOIN fishmarket m ON f.name = m.species_name
JOIN pan p ON c.name = p.cooking_type_name