asp分页系统

it2025-03-21  25

asp分页系统分页程序

' 定义分页全局变量 dim  code,mdbsql,Page_size,Totalrec,TotalPage,currentPage ' 参数处理,并把相应代码插入code(分页)和mdbsql(数据库查询)中 Sub  s_keyword(s_value)    keyword  =  s_value  ' 建议先对keyword进行处理      if  keyword <> ""   then         code  =  code  & " &keyword= " &  keyword        text = Split (keyword)  ' 分词          for   each  word in text            mdbsql  =  mdbsql  & "  and charindex(' " & trim (word) & " ',hw_area)>0 "          next      end   if end Sub ' sql搜索主程序,页次,查找字段,关键字段(唯一索引),排序字段 Sub  fSql(s_page,s_table,s_str,s_key,s_order,mdbconn)     if  s_page  <>   ""   and   IsNumeric (s_page)  then  currentPage  =   cint (s_page)  else  currentPage = 1      if  mdbsql  =   ""   then  mdbsql  =   " 1=1 "         Totalrec  =  mdbconn.execute( " select count(*) from [ " & s_table & " ] where  " & mdbsql)( 0 )     if  Totalrec  >   0   then         TotalPage  =  Totalrec \ Page_size         If  (Totalrec  Mod  Page_size)  Then  TotalPage  =  TotalPage + 1          If  TotalPage  <   1   Then  TotalPage  =   1          If  currentPage  >  TotalPage  Then  currentPage  =  TotalPage             If  TotalPage  =   1   then  Page_size = Totalrec         if  currentPage  =   1   then             mdbsql  =   " select top  " & Page_size & "   " & s_str & "  from [ " & s_table & " ] where  " & mdbsql & "  order by  " & s_order & "  desc "          else   if  s_order  <>   ""   and  s_order  <>  s_key  then             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 "          else             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 "          end   if      end   if end Sub ' 分页显示 Function  show_page()    temp_page  =   ""      If  currentPage  <>   1   Then  temp_page  =  temp_page  &   " <a href='?page=1 " & code & " ' title='第一页'><<-</a> "   Else  temp_page  =  temp_page  &   " <<- "         temp_page  =  temp_page  &   " &nbsp; "      If  currentPage  >   1   Then  temp_page  =  temp_page  &   " <a href='?page= "   &  currentPage  -   1   & code & " &' title='前一页'><-</a> "   Else  temp_page  =  temp_page  &   " <- "     temp_page  =  temp_page  &   " &nbsp; "         PageStart  =  currentPage  -   5      If  PageStart  <   1   Then  PageStart  =   1     PageEnd  =  PageStart  +   10      If  PageEnd  >  TotalPage  Then  PageEnd  =  TotalPage     For  Temp  =  PageStart  To  PageEnd         If  Temp  =  currentPage  Then  temp_page  =  temp_page  &   " [ "   &  Temp  &   " ]&nbsp; "   Else  temp_page  =  temp_page  &   " <a href='?page= " & Temp & "" & code & " ' title='第 " & Temp & " 页'> " & Temp & " </a>&nbsp; "      Next          If  currentPage  <  TotalPage  Then  temp_page  =  temp_page  &   " <a href='?page= "   & currentPage  +   1   &   "" & code & " ' title='下一页'>-></a> "   Else  temp_page  =  temp_page  &   " -> "     temp_page  =  temp_page  &   " &nbsp; "      If  currentPage  <  TotalPage  Then  temp_page  =  temp_page  &   " <a href='?page= "   &  TotalPage  & code & " ' title='最后一页'>->></a> "   Else  temp_page  =  temp_page  &   " ->> "         temp_page  =  temp_page  &   " &nbsp;&nbsp;共  " & Totalrec & "  条记录,当前第  " & currentPage & "  页,共  " & TotalPage & "  页&nbsp; "         temp_page  =  temp_page  &   " &nbsp;&nbsp;到第<input name='gopage' id='gopage' type='text' size='3' maxlength='6' value=' " & currentPage & " ' />页 <input type='button' value='go' οnclick=""location.href='?page='+gopage.value+' " & code & " '"" /> "         show_page  =  temp_page  &   "" end Function ' 以上程序放到一个function中

使用前定义好变量

' 定义参数全局变量 dim  keywordPage_size  =   20 mdbsql = " flag = 1 "   ' 可以先定义固定的搜索条件 ' 函数会根据参数自动调整code和mdbsql Call  s_keyword( trim (Request( " keyword " ))) Call  s_sql( trim (Request( " page " )), " title " , " id " , " id " ) ' 以上代码一般放在程序开头

使用

' 内容显示 if  Totalrec  >   0   then      set  rs = server.createobject( " adodb.recordset " )    rs.open mdbsql,toconn, 1 , 1          If  rs.bof  and  rs.Eof  Then         response.Write( " 暂时没有信息 " )     else          For  Temp_FN  =   1   to  Page_size             If  rs.Eof  Then   Exit   For             response.write rs( " title " )            rs.movenext         next         response.write show_page()  ' 分页显示      end   if else     response.Write( " 暂时没有信息 " ) end   if

转载于:https://www.cnblogs.com/cloudgamer/articles/1036381.html

最新回复(0)