2015-03-13 27 views
-2

我想輸出的基礎上(prodCategory),請參閱下面的我的表結構的產品列表:返回一個列等於ID幾次的列表?

這是我的類別表結構:

enter image description here

然後我的產品表結構:

enter image description here

正如你可以看到下面的圖像,我已經得到了分類輸出的第一款產品,它等於牛逼o prodCategory。

enter image description here

所以,問題是怎麼做我返回匹配(prodCategory)所有的產品,我的代碼如下:

<dl class="accordion"> 
      <?php 
       $query = "SELECT * FROM category WHERE catState = 1"; 
       $result = $conn->query($query); 
       $no=1; 
       while($row = $result->fetch_object()){ 
        $catprod = $row->catID; 
       if ($no==200) { 
        echo ''; 
        $no = 1; 
       } 
      ?> 
      <dt><span><?php echo $row->catName; ?></span></dt> 
      <dd> 
      <?php 
       $queryprod = "SELECT * FROM products WHERE prodCategory = $catprod"; 
       echo $queryprod; 
       $resultprod = $conn->query($queryprod); 
       $rowprod = $resultprod->fetch_object(); 
      ?> 
       <ul class="list"> 
        <li><?php echo $rowprod->prodName; ?></li> 
       </ul> 
      </dd> 
      <?php 
       $no++; 
       } 
      ?> 
     </dl> 
+5

您需要了解'JOIN'。您需要的查詢是基本的SQL語法。 – 2015-03-13 11:56:20

回答

0

很明顯,你需要的基本知識約JOINS,想你這需要一個

Select a.prodID,a.prodName from product a JOIN category b 
on a.prodCategory=b.catID where b.catState=1 
0

我們可以使用連接,或者我們可以使用MySQL的老方法:

select p.* from product p, category c where p.prodCategory = c.catID and c.catState= 1; 
0

感謝您的建議和答案,我修改了我的代碼,但未使用JOIN,但使用JOIN是使用多個表格和我需要查看更多內容的好方法。

<?php 
       $query = "SELECT * FROM category WHERE catState = 1"; 
       $result = $conn->query($query); 
       $no=1; 
       while($row = $result->fetch_object()){ 
        $catprod = $row->catID; 
       if ($no==200) { 
        echo ''; 
        $no = 1; 
       } 
      ?> 
      <dt><span><?php echo $row->catName; ?><?php echo $catprod; ?></span></dt> 
      <dd> 
      <?php 
       $queryprod = "SELECT * FROM products WHERE prodCategory = $catprod"; 
       $resultprod = $conn->query($queryprod); 

       while($rowprod = $resultprod->fetch_object()){ 
       echo '<ul class="list"> 
        <li>' . $rowprod->prodName . '</li> 
       </ul>'; 
       } 
       $resultprod->free(); 
      ?> 
      </dd> 
      <?php 
       $no++; 
       } 
      ?> 
相關問題