列出类别下的集合

I have 2 tables: The first table called "categories" includes: category_id, category_name, etc. The second table called "collections" includes: collection_id, collection_name, short_description, category_id, etc.

I would like to list them on grid-view as this:

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)

etc.

The items follow alphabet orders, the categories do not display in case there is no collection in them.

I tried to Select them using select distinct and inner 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="";

the current result is:

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)

Could anyone help me please? thanks a lot.