不了解连接功能

时间:2014-09-16 18:54:53

标签: php sql

提前感谢您在我的问题上花费的时间。

我试图以一种将制造商显示为名称而不是数字的方式显示数据。

基本上,当他们存储数据时,他们从表中生成的下拉列表中选择制造商.IE Trogues = 1所以产品存储#1所以我知道任何啤酒与拖鞋相关的是1.现在我我希望显示数据但不是1,而是希望显示Trogues。你在下面的回波代码中看到制造商的地方..

我不理解这里的流程逻辑。

error_reporting(E_ALL);
ini_set('display_errors', 1);

$sql = "SELECT * FROM products 
LEFT JOIN manufacturer 
ON product.manufacturer = manufacturer.id  
ORDER BY manufacturer.id, product.id";


$query = mysql_query($sql);

while($row = mysql_fetch_array($query)) {
echo "

<div class=reportclientproduct>".$row['manufacturer']."  -  <a href=".$row['website']." target=_blank>".$row['product']."</a></div>";
}

1 个答案:

答案 0 :(得分:0)

您是否尝试过这样的查询:

$sql = "SELECT man.id AS manufac, products.product AS prod FROM products 
    LEFT JOIN manufacturer as man
    ON product.manufacturer = manufacturer.id  
    ORDER BY manufacturer.id, product.id";

$query = mysql_query($sql);

while($row = mysql_fetch_array($query)) { 
    echo "
    ".$row['manufac']." - ".$row['prod']."

    ";
}

假设表产品有一个名为manufacturer的列,其中包含制造商的ID,并且两个表都有列名ID,其中包含表项的ID。

JOIN功能也可能因您使用的数据库而异。但上述方法适用于mysql。