近日做一个查询系统时突然想做,贴子下面显示页数哪里的效果.
细想了一下原理:
然后写出了以下的代码:
sub pagel(page,pagecc,pagecount) REM 参数说明: REM page 当前页数 REM pagecc 页码数 REM pagecount 总共有多少页运行结果: 1 2 3 4 5 6 7 8 9 10 > 运行结果符合要求,呵呵,放上来请大家拍拍吧~REM pagesize*pagecc 是指“页码数”乘于当前为第页码(如果“页码数为”10,则表示显示 1,2,3...8,9,10) REM 如果当前“页码数”为1则显示1,2,3...8,9,10 REM 如果当前“页码数”为2,则显示 < 21,22,23...28,29,30 >如此类推
'获取当前querystring Dim query, a, x, temp action = \"http://\" & Request.ServerVariables(\"HTTP_HOST\") & Request.ServerVariables(\"SCRIPT_NAME\") query = Split(Request.ServerVariables(\"QUERY_STRING\"), \"&\")
For Each x In query if x<>\"\" then a = Split(x, \"=\") If StrComp(a(0), \"page\", vbTextCompare) <> 0 Then temp = temp & a(0) & \"=\" & a(1) & \"&\" End If end if Next '获取结束
page=cint(page) pagesize=(page-1)\pagecc '得出页码总数 if pagecount>pagecc then '如果总页数大于页码数 if pagesize>0 then response.write\"<a href=\"\"?\"&temp&\"page=\"&pagesize*pagecc&\"\"\"><</a> \" for i=(pagesize*pagecc) + 1 to (pagesize+1)*pagecc if i> pagecount then exit for if i=page then response.write \"<font color=\"\"red\"\">\" & i & \"</font> \" else response.write \"<a href=\"\"?\"&temp&\"page=\"&i&\"\"\">\" & i & \"</a> \" end if next if (pagesize+1)*pagecc<pagecount then response.write\"<a href=\"\"?\"&temp&\"page=\"&((pagesize+1)*pagecc)+1&\"\"\">></a> \" else for i=1 to pagecount if i=page then response.write \"<font color=\"\"red\"\">\" & i & \"</font> \" else response.write \"<a href=\"\"?\"&temp&\"page=\"&i&\"\"\">\" & i & \"</a> \" end if next end if end sub