From 57d307e99174c988178adc5dad99b8de1ccd5ab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=9C=E8=8F=AF?= Date: Wed, 12 Apr 2023 14:59:06 +0800 Subject: [PATCH] tags --- bin/main.go | 83 +++++++++++++---------------------------------------- 1 file changed, 20 insertions(+), 63 deletions(-) diff --git a/bin/main.go b/bin/main.go index 417417e..730765a 100644 --- a/bin/main.go +++ b/bin/main.go @@ -107,90 +107,47 @@ func main() { conditions += fmt.Sprintf(" AND categorie IN (%s)", strings.Join(categories, ",")) } - // 打印web_tags表的所有字段 - rows, err := mysqlConnection.Database.Query("SELECT * FROM web_tags LIMIT 1") + // 获取标签列表 + var tags ListView + tags.Page, tags.PageSize = stringToInt(r.FormValue("page"), 1), stringToInt(r.FormValue("pageSize"), 10) + rows, err := mysqlConnection.Database.Query("SELECT id, name, update_time, create_time FROM web_tags"+conditions+" ORDER BY id DESC LIMIT ?, ?", (tags.Page-1)*tags.PageSize, tags.PageSize) if err != nil { log.Println(err) return } defer rows.Close() for rows.Next() { - // 获取字段名 - columns, err := rows.Columns() - if err != nil { + var tag Tag + if err := rows.Scan(&tag.Id, &tag.Name, &tag.UpdateTime, &tag.CreateTime); err != nil { log.Println(err) continue } - // 获取字段值 - values := make([]interface{}, len(columns)) - for i := range values { - values[i] = new(interface{}) - } - if err := rows.Scan(values...); err != nil { - log.Println(err) - continue - } - // 打印字段名和字段值 - for i, column := range columns { - log.Println(column, *(values[i].(*interface{}))) - } + tags.List = append(tags.List, tag) } if err := rows.Err(); err != nil { log.Println(err) return } - // 打印web_tags表的总数 - var total int - if err := mysqlConnection.Database.QueryRow("SELECT COUNT(*) FROM web_tags").Scan(&total); err != nil { + // 获取总数 + if err := mysqlConnection.Database.QueryRow("SELECT COUNT(*) FROM web_tags" + conditions).Scan(&tags.Total); err != nil { log.Println(err) return } - log.Println("total", total) - /** - // 获取标签列表 - var tags ListView - tags.Page, tags.PageSize = stringToInt(r.FormValue("page"), 1), stringToInt(r.FormValue("pageSize"), 10) - rows, err := mysqlConnection.Database.Query("SELECT id, name, update_time, create_time FROM web_tags"+conditions+" ORDER BY id DESC LIMIT ?, ?", (tags.Page-1)*tags.PageSize, tags.PageSize) - if err != nil { - log.Println(err) - return - } - defer rows.Close() - for rows.Next() { - var tag Tag - if err := rows.Scan(&tag.Id, &tag.Name, &tag.UpdateTime, &tag.CreateTime); err != nil { - log.Println(err) - continue - } - tags.List = append(tags.List, tag) - } - if err := rows.Err(); err != nil { - log.Println(err) - return - } + // 是否有下一页 + tags.Next = tags.Total > tags.Page*tags.PageSize - // 获取总数 - if err := mysqlConnection.Database.QueryRow("SELECT COUNT(*) FROM web_tags" + conditions).Scan(&tags.Total); err != nil { - log.Println(err) - return - } + // 将对象转换为有缩进的JSON输出 + json, err := json.MarshalIndent(tags, "", " ") + if err != nil { + log.Println(err) + return + } - // 是否有下一页 - tags.Next = tags.Total > tags.Page*tags.PageSize - - // 将对象转换为有缩进的JSON输出 - json, err := json.MarshalIndent(tags, "", " ") - if err != nil { - log.Println(err) - return - } - - // 输出JSON - w.Header().Set("Content-Type", "application/json") - w.Write(json) - **/ + // 输出JSON + w.Header().Set("Content-Type", "application/json") + w.Write(json) }) type Similar struct {