Board logo

標題: [發問] 關於分頁選擇項目 [打印本頁]

作者: mtlz610    時間: 2011-7-5 14:43     標題: 關於分頁選擇項目

本帖最後由 mtlz610 於 2011-7-6 09:33 編輯

拜讀了ASP與SQL資料庫這本書書號P5027
獲益良多

由於在實際的操作上遇到了些問題與瓶頸
在此想請教解決方式

問題出在分頁選擇的部分
書中的8-44頁內的分頁範例
與8-51的select標籤換頁

在此貼上小弟的編碼請教
該如何才能達成使用select標籤分頁的操作
  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
  2. <!--#include file="../sql_link/ad_sql_link.asp"-->
  3. <%
  4. set rs = server.CreateObject("adodb.recordset")
  5. cot = "select * from members_data order by mber_id desc"
  6. rs.open cot,sqlcon,3,3

  7. mycount=rs.recordcount

  8. rs.pagesize =3

  9. gopage=cint(request("topage"))

  10. if gopage<1 then
  11.         rs.absolutepage=1
  12.         gopage=1
  13. else
  14.         rs.absolutepage=gopage
  15. end if       
  16. %>

  17. <!DOCTYPE HTML>
  18. <html xmlns="http://www.w3.org/1999/xhtml">
  19. <head>

  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  21. <link rel="stylesheet" type="text/css" href="../css_set/body_set.css"/>
  22. <link rel="stylesheet" type="text/css" href="../css_set/ad_body_set.css" />

  23. <title>BeDog Admin - Index</title>
  24. </head>

  25. <body>
  26. <!--底圖透白-不可刪除!! --><div class="aera_center">

  27. <div style="width:900px; margin:auto; text-align:left; padding:20px 20px 5px 20px; ">
  28. <font style="font-size:22px;">BeDog網站後台管理介面</font><br>
  29. BeDog Pet Services - Administrator Interface
  30. </div>
  31. <hr style="width:920px; margin:5px auto 5px auto; "/>

  32. <!--munu開始-不可刪除!! -->
  33. <!--#include file="ads_menu.htm" -->
  34. <!--munu結束-不可刪除!! -->

  35. <table style="padding:10px 10px 30px 10px;">
  36.   <tr>
  37.     <td width="20" style="border-left:1px #F8CE8F solid; height:550px;"></td>
  38.     <td align="left" valign="top" width="720">
  39. <div class="cont_div" >
  40.     <p class="cont_word_tit_p">
  41.     管理者-會員資料管理
  42.     </p>
  43.    <p class="cont_word_tit_p">
  44.     <form method="post">
  45.     <select name="topage">
  46.     <%
  47.     for i=1 to rs.pagecount
  48.                 if cint(i)<>cint(request("topage")) then
  49.                         response.Write "<option value="&i&">"
  50.                         response.Write "第"&i&"頁</option>"
  51.                 else
  52.                         response.Write "<option value=" &i&" selected>"
  53.                         response.Write "第"&i&"頁</option>"
  54.                 end if
  55.         next
  56.         %>
  57.     </select>
  58.     <input name="送出" type="submit" value="跳頁" />
  59.     </form>
  60.     </p>
  61. <table border="0" cellpadding="5" cellspacing="1" style="padding:0px; margin:0px; font-size:12px;">
  62.   <tr style="background-color: #9C5B1B;">
  63.     <td>編號</td>
  64.     <td>Name </td>
  65.     <td>Tel</td>
  66.     <td>Address</td>
  67.     <td>EMR Contact</td>
  68.     <td colspan="2" align="center">資料操作</td>
  69.   </tr>
  70.   <%
  71.   do while rcount<rs.pagesize
  72.   %>
  73.     <tr onMouseOver="this.style.backgroundColor='#823311'" onMouseOut="this.style.backgroundColor=''" >
  74.                   <td style="border-bottom:1px dotted #999;" align="center"><%=rs.fields("mber_id").value%></td>
  75.         <td style="border-bottom:1px dotted #999;"><%=rs.fields("mber_sex").value%><br><%=rs.fields("mber_f_name").value%>&nbsp;<%=rs.fields("mber_l_name").value%> </td>
  76.         <td style="border-bottom:1px dotted #999;"><%=rs.fields("mber_tel").value%></td>
  77.         <td style="border-bottom:1px dotted #999;">
  78.           <%=rs.fields("mber_adds_1").value%><%=rs.fields("mber_adds_2").value%><%=rs.fields("mber_adds_3").value%><%=rs.fields("mber_adds_4").value%><%=rs.fields("mber_adds_5").value%><%=rs.fields("mber_adds_6").value%><%=rs.fields("mber_adds_7").value%>
  79.           <br><%=rs.fields("mber_mail").value%></td>
  80.         <td style="border-bottom:1px dotted #999;"><%=rs.fields("s_mber_sex").value%>.<%=rs.fields("s_mber_f_name").value%>&nbsp;<%=rs.fields("s_mber_l_name").value%><br><%=rs.fields("s_mber_tel").value%></td>
  81.         <td style="border-bottom:1px dotted #999;">修改資料</td>
  82.         <td style="border-bottom:1px dotted #999;">刪除資料</td>
  83.         </tr>
  84.        <%
  85.            rs.movenext
  86.            rcount=rcount+1
  87.            loop
  88.            %>
  89. </table>
  90. 目前資料共有<%=mycount%>筆 目前顯示第<%=rs.absolutepage%>頁 共有<%=rs.pagecount%>頁資料
  91. </div>
  92. </td>
  93. </table>
  94.             



  95. <!--底圖透白-到此結束--></div>

  96. </body>
  97. </html>
複製代碼
遇到新的問題

程式執行之後.可以選擇換頁
不過在第一頁瀏覽時
在顯示目前頁面的地方會變成第二頁
由於資料只有十筆
在第二頁的時候會變成-3頁.

當我把rs.pagesize改成其他筆數時例如rs.pagesize=3時
在最後一頁會出現錯誤訊息
ADODB.Field 錯誤 '800a0bcd'
可能是 BOF 或 EOF 的值為 True,或目前的資料錄已被刪除。所要求的操作需要目前的資料錄。
作者: mtlz610    時間: 2011-7-5 14:43

煩請管理員協助.感恩
作者: 傘蜥蜴    時間: 2011-11-3 09:34

大致上的寫法如下
<%
'分頁程式
RS.PageSize=50
Page=CLng(Request.QueryString("Page"))
If Page>RS.PageCount Then Page=RS.PageCount End If
If Page="" or Page<1 Then
  Page=1
Else
  Page=Page
End If
If Not RS.EOF Then
   RS.AbsolutePage = Page
End If
%>

你在專研一下
ASP很久沒寫了~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)