簡體   English   中英

計算菜單項返回的行數

[英]Count number of returned rows for menu items

我有2張桌子:類別,Oglasi

categories
category_id | category | parent
1             auto      0
2             games     0
3             bmw       1
4             cards     2

oglasi
oglas_id | category_id
1          3            
2          4             

我正在嘗試做的是將菜單設置為:

父級名稱-類別名稱(此類別中的項目數)

例如:auto-bmw(1)

現在我得到它來制作父名稱-類別名稱的樹菜單,但是不知道如何將所有這些與計數的行號連接起來。 這是我的查詢和執行此操作的代碼:

$kategorije = dbQuerySelect('SELECT a.category parent
                                  , b.category child
                                  FROM categories a
                                  JOIN categories b
                                  ON a.category_id = b.parent
                                  ORDER BY a.category_id');
                if ($kategorije)
                  {
                    $parent = '';
                    echo "<ul>";
                    foreach ($kategorije as $next) {
                       if ($next['parent'] != $parent) {
                          if (strlen($parent) > 0) {
                             echo "    </ul>";
                             echo "  </li>";
                          }
                          echo "  <li>" . $next['parent'];
                          echo "    <ul>";
                       }
                       echo "    <li>" . $next['child'] . "</li>";

                       $parent = $next['parent'];
                    }
                    echo "    </ul>";
                    echo "  </li>";
                    echo "</ul>";
                  }

因此,在這種情況下,將返回:

parent | child
auto     bmw
games    cards

有人可以幫我編輯代碼並返回每個“子類別”中的行數嗎? 我在查詢中嘗試使用COUNT進行一些變體,但是我無法使其工作。

SELECT a.category parent, 
       b.category child,
       (select count(*) from oglasi where category_id = b.category_id) as count
FROM categories a
JOIN categories b
ON a.category_id = b.parent
ORDER BY a.category_id

有了這個你應該得到:

   parent|child|count
   auto  bmw    1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM