php - 关系型 MySQL PHP
问题描述
我有一个名为“价格”的表,其中有两个字段,我在其中引用了另外两个名为“产品”和“供应商”的表。在“价格”表中,我确实引用了“产品”和“供应商”的“id”,我需要在 php 代码中获取两者的名称......到目前为止我所拥有的是这个,但我没有不知道如何使它工作:
$result = mysqli_query($conn, "SELECT * FROM prices") or die("Could not find");
if (mysqli_num_rows($result) > 0) {
while ($rr = mysqli_fetch_assoc($result)) {
$a = $rr['id'];
$b = $rr['date'];
$c = $rr['product'];
$d = $rr['suplier'];
$e = $rr['quantity'];
$f = $rr['packaging'];
$g = $rr['event'];
$h = $rr['price'];
$prov .="
<tr>
<td>".$b."</td>
<td><a href='productos-result.php?search=".$c."'>".$c."</a></td>
<td><a href='proveedores-result.php?search=".$d."'>".$d."</a></td>
<td>".$e."</td>
<td>".$g."</td>
<td>$".$h."</td>
</tr>";
}
}
我需要显示产品名称 $c 和供应商 $d 而不是 id,我的表格是这样的:
价格
ID, 日期, productid, suplierid, 数量, 事件, 价格
产品
ID、名称、描述
供应商
ID、名称、描述
解决方案
更改您的查询以加入产品和供应商,并在列列表中将其名称设为您想要的别名。
SELECT prices.id,
prices.date,
product.name product,
suplier.name suplier,
prices.quantity,
prices.packaging,
prices.event,
prices.price
FROM prices
INNER JOIN product
ON product.id = prices.productid
INNER JOIN suplier
ON suplier.id = prices.suplierid;
(如果您的价格没有供应商或产品,但仍想显示它们(名称为空),请更改为INNER JOIN
。 )LEFT JOIN
推荐阅读
- python - 如何在python中使用递归检查一个字符串是否是另一个字符串的后续?
- webpack - 为什么我在 Webpack 5.11.0 中出现此错误:子编译中出现 1 错误?
- html - 为什么我的选择不显示我提供给它的数据?角 10
- swift - SwiftUI 动画并不总是运行
- c# - 无法加载文件或程序集 'Microsoft.AspNetCore.Hosting.Server.Abstractions,版本 = 3.1.0.0
- android - Android列表视图中的条件格式视图:如何?
- amazon-web-services - AWS SAM 本地 Lambda 调用缓慢
- xamarin.forms - 即使未设置绑定属性,DatePicker 也会选择选择
- javascript - 用一个按钮生成多个结果?
- html - 如果打印时选择 A5 尺寸的纸张,是否更改 CSS?