0
我有一個列的產品表(prodCat)這是一個ID列號,這涉及到另一個表我有設置(rangecat)鏈接到一列(rangeCatID)。如何僅從SQL表中顯示一個類別?
我的代碼如下:
<?php
$querycat = "SELECT DISTINCT products.prodCat, rangecat.rangeCatTitle, rangecat.rangeCatSEO FROM products INNER JOIN ranges ON products.prodRangeID = ranges.rangeID INNER JOIN rangecat ON products.prodCat = rangecat.rangeCatID WHERE rangeSEO = '$seoname' AND prodState = 1";
$resultcat = $conn->query($querycat);
while($rowcat = $resultcat->fetch_object()){
if ($page[3] == $rowcat->rangeCatSEO) { $state = ' class="onstate"'; } else { $state = ''; }
echo '<li ' .$state. '><a href="/product/' . $prodsub .'/'. $rowcat->rangeCatSEO . '">' . $rowcat->rangeCatTitle . '</a></li>';
}
$resultcat->free();
?>
請看下面的截圖下面這顯示分類多次返回:
請參閱下面的產品表結構:
請參閱下面的rangecat表結構:
非常感謝你,它的工作原理如你所說的100%正確。 – Craig 2015-02-06 20:00:34
這非常有效,它輸出類別ID並且只顯示一次類別。 現在我現在的問題是我試圖從(rangecat)表中獲取(rangeCatTitle),但是這不會返回任何結果? – Craig 2015-02-09 12:19:14
@Craig:考慮這一點:如果你想讀取它,你*需要*在查詢中包含該列;如果每個類別有多個'rangeCat'值,則會再次重複行。仔細想想如何以您想要的方式獲取數據。另一方面,您不會發布表結構或任何數據樣本,因此無法知道您的數據如何組織。 – Barranka 2015-02-09 16:37:44