У меня есть таблица с именем «цены», в которой у меня есть два поля, где я ссылаюсь на две другие таблицы с именами «prodcuts» и «supliers». В таблице «цены» я делаю ссылку на «id» «prodcuts» и «supliers», и мне нужно получить имя обоих в 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 и suplier $ d вместо идентификатора, мои таблицы выглядят так:
id, date, productid, suplierid, количество, событие, цена
идентификатор, имя, описание
идентификатор, имя, описание
Измените свой запрос, чтобы присоединиться к продуктам и поставщикам, указав их имена в списке столбцов с указанием того, что вы хотите.
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
если у вас есть цены без поставщика или товара, но вы все равно хотите их показать (с пустыми названиями).)
Других решений пока нет …