修正分页

This commit is contained in:
2023-11-20 05:28:36 +08:00
parent b94b2d60c2
commit 1d81d9da15
2 changed files with 23 additions and 3 deletions

View File

@@ -281,11 +281,20 @@ func main() {
id, err := strconv.Atoi(hit.(map[string]interface{})["_id"].(string))
if err != nil {
log.Println("strconv.Atoi failed:", err)
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
text_ids = append(text_ids, id)
}
if len(text_ids) > 0 {
conditions.WriteString(fmt.Sprintf(" WHERE id IN (%s)", strings.Trim(strings.Replace(fmt.Sprint(text_ids), " ", ",", -1), "[]")))
fmt.Println("conditions", conditions.String())
}
if conditions.Len() > 1024 {
log.Println("查询条件过长")
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
} else {
addCondition(&conditions, "authors", "author")
addCondition(&conditions, "tags", "tag")
@@ -293,6 +302,8 @@ func main() {
addCondition(&conditions, "sets", "sets")
}
fmt.Println("conditions", conditions.String())
// 获取图片列表
var images ListView
var image_list []Image
@@ -329,7 +340,10 @@ func main() {
conditions.WriteString(fmt.Sprintf(" id IN (%s)", strings.Join(idsStr, ","))) // 拼接查询条件
}
}
rows, err := mysqlConnection.Database.Query(fmt.Sprintf("SELECT id, width, height, content, update_time, create_time, user_id, article_id, article_category_top_id, praise_count, collect_count FROM web_images %s", conditions.String()))
conditions.WriteString(fmt.Sprintf(" LIMIT %d, %d", (images.Page-1)*images.PageSize, images.PageSize)) // 拼接分页条件
sql := fmt.Sprintf("SELECT id, width, height, content, update_time, create_time, user_id, article_id, article_category_top_id, praise_count, collect_count FROM web_images %s", conditions.String())
fmt.Println("sql:", sql)
rows, err := mysqlConnection.Database.Query(sql)
if err != nil {
log.Println("获取图片列表失败", err)
http.Error(w, err.Error(), http.StatusBadRequest)

View File

@@ -92,6 +92,7 @@ type User struct {
// 获取一组用户信息
func QueryUserList(id_list []int) (users []User) {
fmt.Println("QueryUserList:", id_list)
count := len(id_list)
if count == 0 {
return
@@ -106,6 +107,8 @@ func QueryUserList(id_list []int) (users []User) {
for rows.Next() {
var user User
rows.Scan(&user.Id, &user.UserName, &user.Avatar, &user.UpdateTime, &user.CreateTime)
user.UpdateTime = user.UpdateTime.UTC()
user.CreateTime = user.CreateTime.UTC()
users = append(users, user)
}
return
@@ -121,12 +124,13 @@ type Article struct {
// 获取一组文章信息
func QueryArticleList(id_list []int) (articles []Article) {
fmt.Println("QueryArticleList:", id_list)
count := len(id_list)
if count == 0 {
return
}
idstr := strings.Trim(strings.Replace(fmt.Sprint(id_list), " ", ",", -1), "[]")
rows, err := connection.Query("SELECT id, title, tags, update_time, create_time FROM web_article WHERE id IN (" + idstr + ")")
rows, err := connection.Query("SELECT id, title, tags, update_time, create_time FROM web_article WHERE id IN (" + idstr + ") LIMIT " + strconv.Itoa(count))
if err != nil {
log.Println("获取文章列表失败", err)
return
@@ -135,6 +139,8 @@ func QueryArticleList(id_list []int) (articles []Article) {
for rows.Next() {
var article Article
rows.Scan(&article.Id, &article.Title, &article.Tags, &article.UpdateTime, &article.CreateTime)
article.UpdateTime = article.UpdateTime.UTC()
article.CreateTime = article.CreateTime.UTC()
articles = append(articles, article)
}
return