php - 如何很好地显示来自两个不同 mysql 表的数据?

标签 php mysql

我有一个包含表的数据库:

鱼(值为名称、图像、信息、cooking_type_id)和 cooking_type(值为 cooking_type_id,缩略图)

我创建了一个非常简单的 mysqli 查询来显示第一个表中的数据,但我想根据 id 显示缩略图。

因此,对于 cooking_type,“Grill”的 cooking_type_id 可能为 1。鱼“Cod”适合烧烤,因此它在“type_id”下的值为 1。

如何显示缩略图而不是显示“1”?

这是我的查询代码:

$query = "SELECT * 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['name'];
        echo '</h3></div></div>';

        echo '<div class="col-sm-2">';
        echo '<div class="typephoto">';
        echo $row['type_id'];
        echo '</div></div>';
        echo '</div>';
    }

    mysqli_close($conn);

最佳答案

$query = "SELECT fish.image, fish.name, cooking_type.thumbnail FROM fish
          JOIN cooking_type
          ON fish.cooking_type_id = cooking_type.cooking_type_id;";
    $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['name'];
        echo '</h3></div></div>';

        echo '<div class="col-sm-2">';
        echo '<div class="typephoto">';
        echo $row['thumbnail'];
        echo '</div></div>';
        echo '</div>';
    }

    mysqli_close($conn);

关于php - 如何很好地显示来自两个不同 mysql 表的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30214605/

相关文章:

php - 从摘录中删除短代码(有代码)

php - 在 php 脚本完成之前通过 jquery load() 函数从 php 脚本获取结果

php - 如何更改列表的顺序?

mysql - 多表 MySQL 查询返回太多结果

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

mysql - 如何提取多行字符串字段中最常用的字符?

php - 在 PHPUnit 数据提供程序中设置和使用参数

php - 在 php 中为类自动生成 getter 和 setter 的最佳方法是什么?

通过 cron 运行的 PHP 脚本不连接到数据库

php - json_encode 添加反斜杠