首页 > 解决方案 > 如何构建和打印到浏览器类别树?

问题描述

所以我想为产品构建一个类别脚本。

如何构建类别树?

我有一个这样的数据库...

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}}

最后我想得到类似的东西

标签: sqlpostgresqlalgorithmgo

解决方案


推荐阅读