天天看點

asp分頁系統

分頁程式

asp分頁系統

'定義分頁全局變量

asp分頁系統

dim code,mdbsql,Page_size,Totalrec,TotalPage,currentPage

asp分頁系統
asp分頁系統

'參數處理,并把相應代碼插入code(分頁)和mdbsql(資料庫查詢)中

asp分頁系統

Sub s_keyword(s_value)

asp分頁系統

    keyword = s_value '建議先對keyword進行處理

asp分頁系統

    if keyword<>"" then

asp分頁系統

        code = code &"&keyword="& keyword

asp分頁系統

        text=Split(keyword) '分詞

asp分頁系統

        for each word in text

asp分頁系統

            mdbsql = mdbsql &" and charindex('"&trim(word)&"',hw_area)>0"

asp分頁系統

        next

asp分頁系統

    end if

asp分頁系統

end Sub

asp分頁系統
asp分頁系統

'sql搜尋主程式,頁次,查找字段,關鍵字段(唯一索引),排序字段

asp分頁系統

Sub fSql(s_page,s_table,s_str,s_key,s_order,mdbconn)

asp分頁系統

    if s_page <> "" and IsNumeric(s_page) then currentPage = cint(s_page) else currentPage=1

asp分頁系統

    if mdbsql = "" then mdbsql = "1=1"

asp分頁系統
asp分頁系統

    Totalrec = mdbconn.execute("select count(*) from ["&s_table&"] where "&mdbsql)(0)

asp分頁系統

    if Totalrec > 0 then

asp分頁系統

        TotalPage = Totalrec\Page_size

asp分頁系統

        If (Totalrec Mod Page_size) Then TotalPage = TotalPage+1

asp分頁系統

        If TotalPage < 1 Then TotalPage = 1

asp分頁系統

        If currentPage > TotalPage Then currentPage = TotalPage    

asp分頁系統

        If TotalPage = 1 then Page_size=Totalrec

asp分頁系統
asp分頁系統

        if currentPage = 1 then

asp分頁系統

            mdbsql = "select top "&Page_size&" "&s_str&" from ["&s_table&"] where "&mdbsql&" order by "&s_order&" desc"

asp分頁系統

        else if s_order <> "" and s_order <> s_key then

asp分頁系統

            mdbsql = "select top "&Page_size&" "&s_str&" from ["&s_table&"] where "&mdbsql&" and "&s_key&" not in (select top "&(currentPage-1)*Page_size&" "&s_key&" from ["&s_table&"] where "&mdbsql&" order by "&s_order&" desc) order by "&s_order&" desc"

asp分頁系統

        else

asp分頁系統

            mdbsql = "select top "&Page_size&" "&s_str&" from ["&s_table&"] where "&mdbsql&" and "&s_key&" < (select min ("&s_key&") from (select top "&(currentPage-1)*Page_size&" info_id from ["&s_table&"] where "&mdbsql&" order by "&s_key&" desc) as T) order by "&s_key&" desc"

asp分頁系統

        end if

asp分頁系統
asp分頁系統
asp分頁系統
asp分頁系統
asp分頁系統

'分頁顯示

asp分頁系統

Function show_page()

asp分頁系統

    temp_page = ""

asp分頁系統

    If currentPage <> 1 Then temp_page = temp_page & "<a href='?page=1"&code&"' title='第一頁'><<-</a>" Else temp_page = temp_page & "<<-"    

asp分頁系統

    temp_page = temp_page & " "

asp分頁系統

    If currentPage > 1 Then temp_page = temp_page & "<a href='?page=" & currentPage - 1 &code&"&' title='前一頁'><-</a>" Else temp_page = temp_page & "<-"

asp分頁系統
asp分頁系統
asp分頁系統

    PageStart = currentPage - 5

asp分頁系統

    If PageStart < 1 Then PageStart = 1

asp分頁系統

    PageEnd = PageStart + 10

asp分頁系統

    If PageEnd > TotalPage Then PageEnd = TotalPage

asp分頁系統

    For Temp = PageStart To PageEnd

asp分頁系統

        If Temp = currentPage Then temp_page = temp_page & "[" & Temp & "] " Else temp_page = temp_page & "<a href='?page="&Temp&""&code&"' title='第"&Temp&"頁'>"&Temp&"</a> "

asp分頁系統

    Next

asp分頁系統
asp分頁系統

    If currentPage < TotalPage Then temp_page = temp_page & "<a href='?page=" &currentPage + 1 & ""&code&"' title='下一頁'>-></a>" Else temp_page = temp_page & "->"

asp分頁系統
asp分頁系統

    If currentPage < TotalPage Then temp_page = temp_page & "<a href='?page=" & TotalPage &code&"' title='最後一頁'>->></a>" Else temp_page = temp_page & "->>"

asp分頁系統
asp分頁系統

    temp_page = temp_page & "  共 "&Totalrec&" 條記錄,目前第 "&currentPage&" 頁,共 "&TotalPage&" 頁 "

asp分頁系統
asp分頁系統

    temp_page = temp_page & "  到第<input name='gopage' id='gopage' type='text' size='3' maxlength='6' value='"&currentPage&"' />頁 <input type='button' value='go' onclick=""location.href='?page='+gopage.value+'"&code&"'"" />"

asp分頁系統
asp分頁系統

    show_page = temp_page & ""

asp分頁系統

end Function

asp分頁系統

'以上程式放到一個function中

使用前定義好變量

asp分頁系統

'定義參數全局變量

asp分頁系統

dim keyword

asp分頁系統
asp分頁系統

Page_size = 20

asp分頁系統

mdbsql="flag = 1" '可以先定義固定的搜尋條件

asp分頁系統
asp分頁系統

'函數會根據參數自動調整code和mdbsql

asp分頁系統

Call s_keyword(trim(Request("keyword")))

asp分頁系統

Call s_sql(trim(Request("page")),"title","id","id")

asp分頁系統

'以上代碼一般放在程式開頭

使用

asp分頁系統

'内容顯示

asp分頁系統

if Totalrec > 0 then

asp分頁系統

    set rs=server.createobject("adodb.recordset")

asp分頁系統

    rs.open mdbsql,toconn,1,1    

asp分頁系統

    If rs.bof and rs.Eof Then

asp分頁系統

        response.Write("暫時沒有資訊")

asp分頁系統

    else

asp分頁系統

        For Temp_FN = 1 to Page_size

asp分頁系統

            If rs.Eof Then Exit For

asp分頁系統

            response.write rs("title")

asp分頁系統

            rs.movenext

asp分頁系統
asp分頁系統

        response.write show_page() '分頁顯示

asp分頁系統
asp分頁系統

else

asp分頁系統

    response.Write("暫時沒有資訊")

asp分頁系統

end if