有没有办法显示第三列的列关系?

时间:2015-05-13 22:59:01

标签: php mysql

所以我在数据库中有这些表:

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>';

1 个答案:

答案 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