28 lines
645 B
Go
28 lines
645 B
Go
package templateHelper
|
|
|
|
import (
|
|
"database/sql"
|
|
)
|
|
|
|
// ToDo: Sql shouldnt be here.
|
|
func GetTotalPages(db *sql.DB, tableName, whereClause string, args []interface{}, pageSize int) (totalPages, totalCount int) {
|
|
query := "SELECT COUNT(*) FROM " + tableName + " " + whereClause
|
|
row := db.QueryRow(query, args...)
|
|
if err := row.Scan(&totalCount); err != nil {
|
|
return 1, 0
|
|
}
|
|
totalPages = (totalCount + pageSize - 1) / pageSize
|
|
if totalPages < 1 {
|
|
totalPages = 1
|
|
}
|
|
return totalPages, totalCount
|
|
}
|
|
|
|
func MakePageRange(current, total int) []int {
|
|
var pages []int
|
|
for i := 1; i <= total; i++ {
|
|
pages = append(pages, i)
|
|
}
|
|
return pages
|
|
}
|