麻辣家族討論版版's Archiver

mtlz610 發表於 2011-7-5 14:43

關於分頁選擇項目

[i=s] 本帖最後由 mtlz610 於 2011-7-6 09:33 編輯 [/i]

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

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

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

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

mycount=rs.recordcount

rs.pagesize =3

gopage=cint(request("topage"))

if gopage<1 then
        rs.absolutepage=1
        gopage=1
else
        rs.absolutepage=gopage
end if       
%>

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

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

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

<title>BeDog Admin - Index</title>
</head>

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

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

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

<table style="padding:10px 10px 30px 10px;">
  <tr>
    <td width="20" style="border-left:1px #F8CE8F solid; height:550px;"></td>
    <td align="left" valign="top" width="720">
<div class="cont_div" >
    <p class="cont_word_tit_p">
    管理者-會員資料管理
    </p>
   <p class="cont_word_tit_p">
    <form method="post">
    <select name="topage">
    <%
    for i=1 to rs.pagecount
                if cint(i)<>cint(request("topage")) then
                        response.Write "<option value="&i&">"
                        response.Write "第"&i&"頁</option>"
                else
                        response.Write "<option value=" &i&" selected>"
                        response.Write "第"&i&"頁</option>"
                end if
        next
        %>
    </select>
    <input name="送出" type="submit" value="跳頁" />
    </form>
    </p>
<table border="0" cellpadding="5" cellspacing="1" style="padding:0px; margin:0px; font-size:12px;">
  <tr style="background-color: #9C5B1B;">
    <td>編號</td>
    <td>Name </td>
    <td>Tel</td>
    <td>Address</td>
    <td>EMR Contact</td>
    <td colspan="2" align="center">資料操作</td>
  </tr>
  <%
  do while rcount<rs.pagesize
  %>
    <tr onMouseOver="this.style.backgroundColor='#823311'" onMouseOut="this.style.backgroundColor=''" >
                  <td style="border-bottom:1px dotted #999;" align="center"><%=rs.fields("mber_id").value%></td>
        <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>
        <td style="border-bottom:1px dotted #999;"><%=rs.fields("mber_tel").value%></td>
        <td style="border-bottom:1px dotted #999;">
          <%=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%>
          <br><%=rs.fields("mber_mail").value%></td>
        <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>
        <td style="border-bottom:1px dotted #999;">修改資料</td>
        <td style="border-bottom:1px dotted #999;">刪除資料</td>
        </tr>
       <%
           rs.movenext
           rcount=rcount+1
           loop
           %>
</table>
目前資料共有<%=mycount%>筆 目前顯示第<%=rs.absolutepage%>頁 共有<%=rs.pagecount%>頁資料
</div>
</td>
</table>
            



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

</body>
</html>

[/code]遇到新的問題

程式執行之後.可以選擇換頁
不過在第一頁瀏覽時
在顯示目前頁面的地方會變成第二頁
由於資料只有十筆
在第二頁的時候會變成-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很久沒寫了~

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供