2016-05-15 3 views
1

У меня есть продукты, все эти продукты имеют, например. Идентификатор, имя и цена. Все эти продукты связаны в базе данных, как это:Внутреннее соединение возвращает несколько значений

Поскольку я не имею 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

Смежные вопросы