Php 将收藏按类别列出

Php 将收藏按类别列出,php,mysqli,Php,Mysqli,我有两张桌子: 第一个名为“categories”的表包括:category\u id、category\u name等。 第二个名为“collections”的表包括:collection\u id、collection\u name、short\u description、category\u id等 我想在网格视图中列出它们,如下所示: category_name no.1 collection_name no.1 (belong to category_name no.1) coll

我有两张桌子: 第一个名为“categories”的表包括:category\u id、category\u name等。 第二个名为“collections”的表包括:collection\u id、collection\u name、short\u description、category\u id等

我想在网格视图中列出它们,如下所示:

category_name no.1
 collection_name no.1 (belong to category_name no.1)
 collection_name no.2 (belong to category_name no.1)
 collection_name no.3 (belong to category_name no.1)
category_name no.2
 collection_name no.1 (belong to category_name no.2)
 collection_name no.2 (belong to category_name no.2)
 collection_name no.3 (belong to category_name no.2)
category_name no.3
 collection_name no.1 (belong to category_name no.3)
 collection_name no.2 (belong to category_name no.3)
 collection_name no.3 (belong to category_name no.3)
等等

项目按照字母顺序排列,如果类别中没有集合,则不会显示类别

我尝试使用Select distinct和INTERNAR join选择它们:

$sql="SELECT DISTINCT collections.category_id, collections.collection_name, categories.category_id, categories.category_name
FROM collections
INNER JOIN categories
ON collections.category_id=categories.category_id
ORDER BY categories.category_id, collections.collection_name";
$result = $mysqli->query($sql);
$row_category_id="";
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        if (!$row_category_id==$row["category_id"]) {
                echo "category: " . $row["category_name"]."<br>"."collection: " . $row["collection_name"]."<br>";
                $row_category_id=$row["category_id"];
            } else {
                echo "collection: " . $row["collection_name"]."<br>";
                $row_category_id=$row["category_id"];
        }
    }
} else {
    echo "no result";
}
$row_category_id="";
谁能帮我一下吗?非常感谢

category_name no.1
    collection_name no.1 (belong to category_name no.1)
    collection_name no.2 (belong to category_name no.1)
    collection_name no.3 (belong to category_name no.1)
    collection_name no.1 (belong to category_name no.2)
    collection_name no.2 (belong to category_name no.2)
    collection_name no.3 (belong to category_name no.2)
    collection_name no.1 (belong to category_name no.3)
    collection_name no.2 (belong to category_name no.3)
    collection_name no.3 (belong to category_name no.3)