php - 从 PHP 中的外键引用获取列值(名称)

标签 php mysql sql

我有两个数据库fruitfruit-prices(为了争论)。

fruit中有两列id |名称

水果 table

 id | name 
 1  | Apple 
 2  | Banana

fruit_prices中有三列id |水果ID |价格,其中 fruit_idFOREIGN KEY 引用。

 id | fruit_id | price
 1  |    1     | £2.00
 2  |    2     | £3.00

现在我有一个 PHP 函数,它将打印出表格行和单元格以及数据库中的信息,但目前如果我打印两个水果,我的表​​格看起来像这样。

 Name | Price 
 1    | £2.00
 2    | £3.00 

PHP 代码:

$query = mysqli_query($conn, "SELECT * FROM fruits ");

while($row = mysqli_fetch_assoc($query)) {

    $name = $row['fruit_id']; //for comma separation
    $price = $row['price'];
    echo "<tr>";

        echo "<td>"     .$name.     "</td>" . 
             "<td>"     .$price.    "</td>";

    echo "</tr>";
}

有没有一种优雅的方式可以检索水果的名称(即 1 = 苹果,2 = 香蕉)。而不是使用每个水果的唯一 ID。

那么我的表格将如下所示

Name  | Price
Apple | £2.00

...

我希望这是有道理的?我对 RD 概念很陌生。这是一个非常简单的例子,并不能反射(reflect)我的整个项目,所以我只是想知道这是否可以实现?

最佳答案

这可以通过连接两个表来完成。用下面的一个更改您的 sql 查询。我认为它会解决您的问题。

“从水果中选择水果名称fruit_prices价格fruit_prices WHERE fruit_prices.fruit_id = fruit.id";

关于php - 从 PHP 中的外键引用获取列值(名称),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24934306/

相关文章:

mysql - 显示数据库命令失败

python - 使用 Python 打开文本文件并另存为 SQL 文件

php - 我怎样才能用一个以上的空格来分解一个字符串,而不是在 php 中恰好用一个空格

php - MYSQL LIKE 匹配字符串的一部分

javascript - 检查用户是否离线并更新数据库中的字段

MySQL - 如何一点一点地执行事务,而不是一次执行(如循环)

mysql - 事件记录 : LEFT OUTER self-JOIN with conditions on joined table

php - 获取多边形点mysql

php - .htaccess 未遵循 RewriteRule

php - 将数组传递给 mysql