我在 Go 中使用 HTML 模板来呈现分页小部件。我正在尝试从这里遵循一个示例:https ://www.solodev.com/blog/web-design/adding-pagination-to-your-website.stml
到目前为止,这是我的代码:
// Item size like call 2 item from database
var pagesize = 2
var PaginationSize int = 6
var isActive string
Pagination := make([]int, PaginationSize)
for i := 0; i < PaginationSize; i++ {
if RequestPageNumber <= page {
Pagination[i] = i + 1
} else {
Pagination[i] = RequestPageNumber + i
}
if i == 0 {
isActive = " active"
} else {
isActive = ""
}
Info.Pagination += template.HTML(
fmt.Sprintf(`<li class="page-item%s"><a class="page-link" href=?id=%v>%v</a></li>`,
isActive, RequestPageNumber+i, RequestPageNumber+i))
}
我想通过仅在活动页面变为PaginationSize
. 例如,当显示的分页显示
(1), 2, 3, 4, 5, 6
如果用户点击 2,我想看看
1, (2), 3, 4, 5, 6
但我当前的代码显示
(2), 3, 4, 5, 6, 7
页面超过 6 后,页面列表应如下所示
7, 8, 9, 10, 11, 12 ,13 ,14
包装在这个分页视图中的数据可能在数据库中,所以如果可能的话,我也很感激关于如何使这个工作与数据库一起工作的提示。
谢谢。