这是我的数据库表,我希望用连接回显一切,但它的dosnt工作。
产品表:
id category_id img name price price_action in_stock category description youtube
分类表:
category_id category_name
这是我的代码,如何列出所有内容,但其dosnt工作:
<?php
include ("../db_config.php");
$sql[0] = "SELECT * FROM products RIGHT JOIN category ON category.category_name=products.category_id";
$result= mysqli_query($conn,$sql[0]) or die(mysqli_error());
echo '
<div id="nlist"><table class="list"><tr>
<td><b>Name</b></td>
<td><b>Price</b></td>
<td><b>Category</b></td>
</tr>
<tr>';
if (mysqli_num_rows($result)>0)
{
while ($record = mysqli_fetch_array($result))
{
echo "
<td>$record[name]</td>
<td>$record[price]</td>
<td>$record[category_name]</td>
</tr>";
}
}
else
echo "sikertelen";
?>
答案 0 :(得分:0)
如果键始终匹配
,则应使用内连接SELECT * FROM products INNER JOIN category ON category.category_name=products.category_id
或如果键不匹配则离开
SELECT * FROM products LEFT JOIN category ON category.category_name=products.category_id
如果所有键都匹配右连接返回nothings
答案 1 :(得分:0)
您正在加入错误的列。 NAME和ID可能不匹配。
$sql[0] = "SELECT * FROM products RIGHT JOIN category ON category.category_id=products.category_id";
我可以告诉你,因为你在两个表中都显示了category_id。