retailers van categories selecteren

Status
Niet open voor verdere reacties.

dannyvts123

Nieuwe gebruiker
Lid geworden
25 mei 2012
Berichten
1
In mijn hoofdpagina heb ik alle categorieen staan. Wanneer ik klik op een bepaalde categorie gaat die naar een andere pagina waar alle retailers die onder deze categorie vermeld staan te zien zouden moeten zijn.

table1
categories category_id
categories parent_id
name
description
category_url

table2
retailer_to_category retailer_id
retailer_to_category category_id

table3
retailers retailer_id
title
retailer_url

Onderstaande code geef een 0 results
Ook zou ik graag de parent_id gebruiken om de sub-categorieen te laten zien.

kan iemand mij hierbij helpen aub



$sql = "SELECT
categories.category_id,
retailers.retailer_id,
retailers.retailer_url,
retailers.title,
retailer_to_category.category_id
FROM retailer_to_category
INNER JOIN categories
ON categories.category_id = retailer_to_category.retailer_id
INNER JOIN retailers
ON retailers.retailer_id = retailer_to_category.retailer_id
ORDER BY retailers.title";

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {


echo "<a href= " . $row["retailer_url"]. " target='_blank'> " . $row["title"]. "</a><br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
 
@kenikavanbis: een LEFT JOIN zal er inderdaad voor zorgen dat de query van de TS wel resultaten oplevert, maar het lost het probleem niet op. De reden waarom de huidige query geen resultaten oplevert is omdat de waardes waarmee hij de tabellen aan elkaar wil koppelen niet in beide tabellen voorkomen. En voor het probleem dat de TS probeert op te lossen, namelijk het opvragen van alle retailers voor een bepaalde categorie, heb je alleen iets aan de resultaten die daadwerkelijk iets zeggen over welke retailer tot welke categorie behoort. Een categorie en/of retailer bestaande uit NULL waardes is net zo waardevol als helemaal geen resultaten ontvangen. :)

De oplossing voor het probleem van de TS is eigenlijk heel eenvoudig: voor het koppelen van de tabellen de juiste kolommen gebruiken:

[cpp]
INNER JOIN categories
ON categories.category_id = retailer_to_category.retailer_id
[/cpp]

Dat moet uiteraard 'categories.category_id ON retailer_to_category.category_id' zijn. Al verwacht ik dat deze fout niet bewust is gemaakt.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan