ASP循环输出显示和分页问题!!

2025-02-25 10:29:05
推荐回答(4个)
回答1:



<%
MaxPerPage=20
page=request("page")
if isnumeric(page)=false then
page=1
end if
page=cint(page)
if page<1 then page=1
set rs=server.CreateObject("adodb.recordset")
sql="select * from pic"
rs.open sql,conn,1,1
rs.PageSize=MaxPerPage
TotalPage=rs.PageCount
rs.AbsolutePage=page
i=0
do while not rs.eof
%>
<%if i mod 4 = 0 then %><%end if%>

<%if i mod 4 = 3 then %><%end if%>
<%
i=i+1
if i>=MaxPerPage then exit do
rs.movenext
loop
%>



<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>







' style="font-weight:bold; color:#000000;">
' style="font-weight:bold; color:#000000;"><%=rs("PicTitle")%>

<%if page>1 then%>
首页 上一页 |
<%else%>
首页 上一页 |
<%end if%>
<%if page
下一页 尾页
<%else%>
下一页 尾页
<%end if%>
共<%=rs.recordcount%>条留言

回答2:

建立access的数据库news,还有表news,表的字段(id,title),id唯一,输入数据保存,用下面代码可查询,可分页
-----------------------下面保存为search.asp--------------------------



文件










输入搜索内容:











<%
'数据库查询
'获得搜索内容
cx = request("cx")
dim pageCount
'把page转换成整数
page = cint(request("page"))
set conn=server.createobject("adodb.connection")'
set rs=server.createobject("adodb.recordset")
conn.open "DBQ=" & server.mappath("./news.mdb") & ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

' 获取产品的名字记录集(从 news表中)
if cx <> "" then
sql = "select * from news where title like '%"&cx& "%' order by id desc"
else
sql ="select * from news order by id desc"
end if
rs.open sql,conn,3,3
'如果没有数据记录
if rs.bof then
errmsg=errmsg+"
"+"
  • "+keyword+"没有记录,请返回!!"
    response.write errmsg
    response.end
    end if

    ' 设置记录集在每页的总行数,也就是 PageSize属性
    RS.PageSize=40
    '把rs.pageCount转换成整数和page才能作比较
    pageCount = cint(rs.pageCount)
    ' 设置当前的页号( AbsolutePage属性)
    if page = 0 then
    page =1
    end if
    RS.AbsolutePage = page
    x=1
    ' 显示当前页中的所有记录( PageSize中设置的行数)

    WHILE NOT RS.EOF AND NumRows%>






  • <%RS.MoveNext
    NumRows=NumRows+1
    WEND%>






    ID 号 标 题 修 改 删 除

    <%=rs("id")%>

    " target="_blank"><%=rs("title")%> >修 改 >删 除

    共<%=PageCount%>页 第<%=page%>页★
    <%if page=1 then%>首页<%end if%>
    <%if page>1 then%>
    首页
    <%end if%>★
    <%if page>1 then%><%end if%>上一页
    <%
    dim pagewhere
    dim p
    p = 1
    '把pagewhere转换成整数
    'pagewhere = cint(request("pagewhere"))
    pagewhere = pageCount
    if pagewhere>0 then
    for p=1 to pagewhere
    if p <> page then%>
    <%=p%>
    <%end if
    if p =page then%>
    <%=p%>
    <% end if
    next
    end if%>
    <%if page < PageCount then%>

    <%end if %>下一页

    <%if page=PageCount then%>尾页
    <%end if%>
    <%if page
    尾页
    <%end if%>

    搜索内容:<%=cx%>



    <%
    rs.close
    Set rs=nothing
    conn.close
    set conn=nothing
    %>

    回答3:

    ASP初级程序员基本技能--数字分页显示
    数据库mdb内容:表名=Diary;字段1=DiaryID int;字段2=DiaryName nvarchar;字段3=DiaryDate datetime
    <%
    'On Error Resume Next
    Set Conn=Server.CreateObject("ADODB.Connection")
    'ConnStr="Provider=SQLOLEDB;Data Source=Chinadad;Initial Catalog=Chinadad;UID=sa;PWD=;"
    'ConnStr="Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("\")&"\Diary.mdb"
    ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("\")&"\Diary.mdb"
    ''Response.Write ConnStr&"


    "
    Conn.Open ConnStr
    Set Rs=Server.CreateObject("ADODB.Recordset")
    sql="Select * from Diary order by DiaryID desc"
    Rs.Open sql,Conn,1,1
    n=0

    if not rs.eof then
    PageSize=10
    Rs.PageSize=PageSize
    RecordCount=Rs.RecordCount

    PageNo=Request("PageNo")
    if PageNo="" then
    PageNo=1
    elseif PageNo<=0 then
    PageNo=1
    else
    PageNo=cint(PageNo)
    if PageNo>rs.PageCount then PageNo=rs.PageCount
    end if
    Rs.AbsolutePage=cint(PageNo)

    %>
    ">
    <%for i=1 to PageSize
    Response.Write (PageNo*PageSize+n)&"行-->"&rs("DiaryID")&"."&rs("DiaryName")&rs("DiaryDate")&"
    "%>

    <%rs.movenext
    if rs.eof then exit for
    n=n+1%>

    <%next%>
    <%=n%>

    首页 <%if PageNo>1 then%>上页<%else%>上页<%end if%>

    <%for i=0 to PageSize-1%>

    <%if PageNo+1>=int(PageNo/PageSize)*PageSize then%>[<%=int(PageNo/PageSize)*PageSize+i%>]<%end if%>
    <%next%>

    <%if PageNo+1下页<%else%>下页<%end if%> 尾页



    <%end if

    if Err.Number<>0 then
    Response.Write "数据库连接失败:"&Err.Description
    else
    Response.Write "数据库连接成功:"&ConnStr
    end if
    %>

    回答4:

    height=242
    cellSpacing=0
    cellPadding=0
    width=949
    border=0>

    <%
    MaxPerPage=20
    page=request("page")
    if
    isnumeric(page)=false
    then
    page=1
    end
    if
    page=cint(page)
    if
    page<1
    then
    page=1
    set
    rs=server.CreateObject("adodb.recordset")
    sql="select
    *
    from
    pic"
    rs.open
    sql,conn,1,1
    rs.PageSize=MaxPerPage
    TotalPage=rs.PageCount
    rs.AbsolutePage=page
    i=0
    do
    while
    not
    rs.eof
    %>
    <%if
    i
    mod
    4
    =
    0
    then
    %><%end
    if%>
    align=middle>
    width="37"
    height="103"
    border="0"
    cellpadding="0"
    cellspacing="0">

    style="padding-left:10px;
    padding-right:10px;">href='index.asp?Picname=<%=rs("Picname")%>'
    style="font-weight:bold;
    color:#000000;">src="213.jpg"
    width="216"
    height="120"
    border="0"
    />


    align="center"
    valign="bottom"
    style="padding-left:10px;
    padding-right:10px;">href='index.asp?Picname=<%=rs("Picname")%>'
    style="font-weight:bold;
    color:#000000;"><%=rs("PicTitle")%>


    <%if
    i
    mod
    4
    =
    3
    then
    %><%end
    if%>
    <%
    i=i+1
    if
    i>=MaxPerPage
    then
    exit
    do
    rs.movenext
    loop
    %>
    align="right">
    height="23"
    colspan="4">
    <%if
    page>1
    then%>
    href="?page=1">首页
    href="?page=<%=page-1%>">上一页
    |
    <%else%>
    首页
    上一页
    |
    <%end
    if%>
    <%if
    pagethen%>
    href="?page=<%=page+1%>">下一页
    href="?page=<%=TotalPage%>">尾页
    <%else%>
    下一页
    尾页
    <%end
    if%>
    共<%=rs.recordcount%>条留言

    <%
    rs.close
    set
    rs=nothing
    conn.close
    set
    conn=nothing
    %>

    相关问答