[ADD]分页参数

This commit is contained in:
viletyy 2019-06-28 10:15:31 +08:00
parent 05d3f3f259
commit 85d0b5115f
4 changed files with 63 additions and 36 deletions

View File

@ -1,5 +1,7 @@
package controllers
import "liteblog/models"
type IndexController struct {
BaseController
}
@ -7,6 +9,33 @@ type IndexController struct {
//首页
// @router / [get]
func (c *IndexController) Get() {
limit := 10
page, err := c.GetInt("page", 1)
if err != nil && page <= 0 {
page = 1
}
notes, err := models.QueryNoteByPage(page, limit)
if err != nil {
c.Abort500(err)
}
c.Data["notes"] = notes
// 得到文章的总数
count, err := models.QueryNoteCount()
if err != nil {
c.Abort500(err)
}
// 计算总页数
totalPage := count / limit
if count % limit != 0 {
totalPage += 1
}
c.Data["totalPage"] = totalPage
c.Data["page"] = page
c.TplName = "index.html"
}
//留言

View File

@ -21,6 +21,10 @@ func initTemplate() {
s2 := strings.Trim(y, "/")
return strings.Compare(s1, s2) == 0
})
_ = beego.AddFuncMap("add", func(x, y int) int {
return x + y
})
}
func initSession() {

View File

@ -19,6 +19,16 @@ func QueryNoteByKeyAndUserId(key string, userId int) (note Note, err error) {
return note, err
}
func QueryNoteByPage(page, limit int) (notes []*Note, err error) {
err = db.Offset((page - 1) * limit).Limit(limit).Find(&notes).Error
return notes, err
}
func QueryNoteCount() (count int, err error) {
err = db.Model(&Note{}).Count(&count).Error
return count, err
}
func SaveNote(n *Note) error {
return db.Save(n).Error
}

View File

@ -14,45 +14,29 @@
<h4 class="item-title">
<p><i class="layui-icon layui-icon-speaker"></i>公告:<span>欢迎来到我的轻博客</span></p>
</h4>
<div class="item">
<div class="item-box layer-photos-demo1 layer-photos-demo">
<h3><a href="details.html">拥有诗意的心态,才能拥有诗意的生活</a></h3>
<h5>发布于:<span>刚刚</span></h5>
<p>父爱如山,不善表达。回想十多年前,总记得父亲有个宽厚的肩膀,小小的自己跨坐在上面,越过人山人海去看更广阔的天空,那个时候期望自己有一双翅膀,能够像鸟儿一样飞得高,看得远。虽然父亲有时会和自己开玩笑,但在做错事的时候会受到严厉的训斥。父亲有双粗糙的大手掌,手把手教我走路、骑车,却会在该放手的时刻果断地放开让自己去大胆尝试,那个时候期望快快长大,能够做自己想做的事,不用受父亲的“控制”。父亲是智慧树,他无所不知、无所不晓,虽然你有十万个为什么,但是也难不倒他。</p>
<img src="/static/images/item.png" alt="">
{{ range .notes }}
<div class="item">
<div class="item-box layer-photos-demo1 layer-photos-demo">
<h3><a href="details.html">{{ .Title }}</a></h3>
<h5>发布于:<span>{{ date .UpdatedAt "Y-m-d H:i:s"}}</span></h5>
<p>{{ .Summary }}</p>
<img src="/static/images/item.png" alt="">
</div>
<div class="comment count">
<a href="details.html#comment">评论</a>
<a href="javascript:;" class="like">点赞</a>
</div>
</div>
<div class="comment count">
<a href="details.html#comment">评论</a>
<a href="javascript:;" class="like">点赞</a>
</div>
</div>
<div class="item">
<div class="item-box layer-photos-demo2 layer-photos-demo">
<h3><a href="details.html">拥有诗意的心态,才能拥有诗意的生活</a></h3>
<h5>发布于:<span>刚刚</span></h5>
<p>父爱如山,不善表达。回想十多年前,总记得父亲有个宽厚的肩膀,小小的自己跨坐在上面,越过人山人海去看更广阔的天空,那个时候期望自己有一双翅膀,能够像鸟儿一样飞得高,看得远。虽然父亲有时会和自己开玩笑,但在做错事的时候会受到严厉的训斥。父亲有双粗糙的大手掌,手把手教我走路、骑车,却会在该放手的时刻果断地放开让自己去大胆尝试,那个时候期望快快长大,能够做自己想做的事,不用受父亲的“控制”。父亲是智慧树,他无所不知、无所不晓,虽然你有十万个为什么,但是也难不倒他。</p>
<img src="/static/images/item.png" alt="">
</div>
<div class="comment count">
<a href="details.html#comment">评论</a>
<a href="javascript:;" class="like">点赞</a>
</div>
</div>
<div class="item">
<div class="item-box layer-photos-demo3 layer-photos-demo">
<h3><a href="details.html">拥有诗意的心态,才能拥有诗意的生活</a></h3>
<h5>发布于:<span>刚刚</span></h5>
<p>父爱如山,不善表达。回想十多年前,总记得父亲有个宽厚的肩膀,小小的自己跨坐在上面,越过人山人海去看更广阔的天空,那个时候期望自己有一双翅膀,能够像鸟儿一样飞得高,看得远。虽然父亲有时会和自己开玩笑,但在做错事的时候会受到严厉的训斥。父亲有双粗糙的大手掌,手把手教我走路、骑车,却会在该放手的时刻果断地放开让自己去大胆尝试,那个时候期望快快长大,能够做自己想做的事,不用受父亲的“控制”。父亲是智慧树,他无所不知、无所不晓,虽然你有十万个为什么,但是也难不倒他。</p>
<img src="/static/images/item.png" alt="">
</div>
<div class="comment count">
<a href="details.html#comment">评论</a>
<a href="javascript:;" class="like">点赞</a>
</div>
</div>
{{ end }}
</div>
<div class="item-btn">
<button class="layui-btn layui-btn-normal">下一页</button>
{{ if gt .page 1 }}
<button class="layui-btn layui-btn-normal" onclick="window.location.href='/?page={{ add .page -1 }}'">上一页</button>
{{ end }}
{{ if lt .page .totalPage }}
<button class="layui-btn layui-btn-normal" onclick="window.location.href='/?page={{ add .page 1}}'">下一页</button>
{{ end }}
</div>
</div>
</div>