2016-05-15 106 views
1

我有产品,所有这些产品都有例如。 ID,名称和价格。所有这些产品都连接到数据库这样的:内部连接返回多个值

因为我没有10美誉...这里是图片的链接http://puu.sh/oS95c/b7b5b17427.png

我想实现的是有一个是产品连接到另一个产品使用内部连接显示在屏幕上。然而,即使没有连接,我也能够取回右列中的每一项。

这里是一个链接以获取数据库的一个更好的视野:http://puu.sh/oSBF2/1af1ce3751.png

$sql = "SELECT AFBEELDING_KLEIN, PRODUCTNAAM, PRIJS 
    FROM PRODUCT 
    inner JOIN PRODUCT_GERELATEERD_PRODUCT 
    ON PRODUCT.PRODUCTNUMMER=PRODUCT_GERELATEERD_PRODUCT.PRODUCTNUMMER_GERELATEERD_PRODUCT"; 

$result = sqlsrv_query($db, $sql); 
$data = sqlsrv_fetch_array($result); 

while($data = sqlsrv_fetch_array($result)) { 
    $big_picture = '<img src="../' . $data["AFBEELDING_KLEIN"] . '"' . 'alt="product">'; 
    $link = '<a href="../productpaginas/' . $data["PRODUCTNAAM"] . '.php"<p>&nbsp;' . $data["PRODUCTNAAM"] . '</p></a>'; 
    $price = '<h2>&nbsp; &#8364;' . $data["PRIJS"] . '</h2>'; 

    echo '<div class="product">'; 
    echo $big_picture; 
    echo $link; 
    echo $price; 
    echo '</div>'; 
} 
+1

为什么不分享你得到的文本输出? (如果需要,您可以更改价格,或者删除该列,但没有别的。) –

+0

请在图形中显示用于生成结果的SQL语句。 –

+0

哪些表属于产品,哪些列是为每个产品定义的?最好的是显示表格定义。 –

回答

0

既然你免疫问题,并没有提供更多的信息,我们只能猜测。

您可能需要将m:n链接返回到产品表本身。

SELECT 
    p1.PRODUCTNUMMER, p2.AFBEELDING_KLEIN, p2.PRODUCTNAAM, p2.PRIJS 
FROM 
    PRODUCT AS p1 
INNER JOIN 
    PRODUCT_GERELATEERD_PRODUCT AS pgp 
ON 
    p1.PRODUCTNUMMER = pgp.PRODUCTNUMMER 
INNER JOIN 
    PRODUCT AS p2 
ON 
    pgp.PRODUCTNUMMER_GERELATEERD_PRODUCT = p2.PRODUCTNUMMER 
; 
+0

我真的很抱歉,我无法回复。这里是另一个链接,可能会更好地查看数据库http://puu.sh/oSBF2/1af1ce3751.png。想要例如 – MiauwSaysTheCat

+0

请编辑您的问题并在那里添加链接,以便其他人也可以轻松找到它。它看起来像我想发布的某种查询。 –

+0

是我想根据表“PRODUCT_GERELATEERD_PRODUCT”中定义的关系返回产品。例如,如果你看第一个截图:如果我在产品1的页面,我会想要找回产品2和3的信息。你发布的查询使我有点接近,但现在我只想显示首先2.感谢您的帮助 – MiauwSaysTheCat