显示外键列名称而不是其ID

时间:2020-04-08 13:59:38

标签: php html mysql

我的数据库中有两个表(产品,类别),该类别通过外键与产品相关。我想在html表中输出所有记录。问题是我想在表中输出category_name而不是其ID。我该如何实现?

这是我的桌子:

餐桌产品

table products

表格类别

table category

下面是我用来显示记录的代码:

<?php
                    $sql = "SELECT * FROM products";
                    $result = mysqli_query($mysqli, $sql);
                ?>

            <table>
                <tr>
                    <th>Product ID</th>
                    <th>Brand</th>
                    <th>Model</th>
                    <th>Product Name</th>
                    <th>Category</th>
                    <th>Quantity</th>
                    <th>Unit Price</th>
                    <th>Supplier</th>

                </tr>

                <?php
                if (mysqli_num_rows($result) > 0)
                    while($row = mysqli_fetch_array($result)){
                ?>      

                <tr>
                    <td><?php echo $row["product_id"]; ?></td>
                    <td><?php echo $row["brand"]; ?></td>
                    <td><?php echo $row["model"]; ?></td>
                    <td><?php echo $row["product_name"]; ?></td>
                    <td><?php echo $row["category"]; ?></td>
                    <td><?php echo $row["quantity"]; ?></td>
                    <td><?php echo $row["unit_price"]; ?></td>
                    <td><?php echo $row["supplier"]; ?></td>
</td>
                </tr>

                <?php           
                    }
                ?>

1 个答案:

答案 0 :(得分:0)

您需要JOIN产品和类别表,您可以执行以下操作:

SELECT * from products LEFT JOIN categories ON products.category = categories.category_id;

这是一个有效的示例:https://paiza.io/projects/d0wyiVd6JYPk7Acfc7svag?language=mysql