Как я могу построить и распечатать в браузере дерево категорий? - PullRequest
0 голосов
/ 16 декабря 2018

Итак, я хочу создать скрипт категории для продуктов.

Как я могу построить дерево категорий?

У меня есть БД, подобная этой ...

CREATE TABLE categories (
    cat_id integer GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    parent_id integer NOT NULL,
    cat_name CHAR(24) NULL DEFAULT NULL,
    cat_position tinyint NOT NULL,
    icon TEXT NULL DEFAULT NULL,
    keywords text NOT NULL, //for search
    active boolean NULL DEFAULT true,
    cat_description CHAR(128) NULL DEFAULT NULL
);

Но я не могу понять, как это работает, потому что 1 продукт может быть найден во многих категориях ...

Я кодирую на GoLang

Теперь мне нравитсяэто ...

rows, err := db.Query("SELECT cat_id, parent_id, cat_name FROM categories WHERE active = true ORDER BY Parent_id ASC")
if err != nil {
    http.Error(w, http.StatusText(500), 500)
    return
}
defer rows.Close()

Затем я помещаю строки в шаблон ...

{{range .}}
<p><a href="/show?getinfo={{ .Cat_id}}">{{ .Cat_id}}</a> - {{ .Parent_id}} - {{ .Cat_name}} <a href="/show?getinfo={{ .Cat_id}}">Показать</a>
{{end}}

В конце я бы хотел получить что-то похожее на это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...