我有两个数据库fruit
和fruit-prices
(为了争论)。
在fruit
中有两列id |名称
水果 table
id | name
1 | Apple
2 | Banana
在fruit_prices
中有三列id |水果ID |价格
,其中 fruit_id
是 FOREIGN 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/