golang寫的乙個分頁控制項。

2021-09-16 19:18:28 字數 1745 閱讀 5015

直接放**吧,基本不用改,直接用了。

package components

import "math"

/** * @date:2019-04-01

* @description: 分頁控制項

*///pages 分頁控制項

type pages struct

}//startrecord 設定分頁查詢時起始位置

func (p *pages) startrecord() int

return start

}//paginator 分頁方法

func (p *pages) paginator() map[string]inte***ce{} ) //返回的分頁資料

rows := p.rows //分頁後的資料

//page總頁數

totalpages = (int(p.recordcount) + p.pagesize - 1) / p.pagesize

//當前頁超出範圍處理

currpage = func() int

}()var currentpagetab int //為了計算翻頁的變數,後面使用這個變數判斷當前翻頁卡位置

//計算頁碼

var exepage = func()

currentpagetab = start

if start > 0 else

for i := range itemcount

} pages = pageitem

} //計算向前的翻頁量

var exefirstpage = func()

firstpage = currentpagetab * showpageitem

} //計算向後的翻頁量

var exelastpage = func()

lastpage = last

} exepage() //計算頁碼

exefirstpage() //計算上翻

exelastpage() //計算下翻

paginatormap["pages"] = pages

paginatormap["totalpages"] = totalpages

paginatormap["firstpage"] = firstpage

paginatormap["lastpage"] = lastpage

paginatormap["currpage"] = currpage

paginatormap["rows"] = rows

return paginatormap

}

用法:

我用的是iris框架

初始化components.pages到變數pages中

這裡的rows是儲存記錄用的。

pages := components.pages

//去拿記錄

getbynewscategory(&pages)

dao裡面取資料,用的xorm

count,_ := d.engine.count(pages.rows)

pages.recordcount = count

d.engine.limit(pages.pagesize,pages.startrecord()).find(pages.rows)

用golang寫乙個proxy

我複雜的網路環境中,proxy是個很有用的工具,我們可以通過proxy 幫我們完成網路流量的 這個proxy得先能接收請求,所以這裡先啟動乙個tcp的監聽,獲取請求 func s server start glog.infof proxy listen in s,waiting for connec...

乙個簡單實用的分頁控制項

using system using system.web using system.web.ui using system.web.ui.webcontrols using system.text namespace localhost set 頁長度 public int pagesize se...

乙個學員寫的PHP列表分頁函式

使用方法,請把以下 複製到乙個記事本檔案裡,然後把記事本改名為page.php,用php開發工具開啟就可以看到效果 function genpage sql,page size 10 function showpages for i startpage i endpage i else if end...