急救!!!!我要用php通过odbc访问oracle9数据库,请问我怎么分页阿?

nike_ljq 2002-07-18 09:05:01
主要是我怎么控制每次只取一定的行出来阿?????
谢谢!!
...全文
81 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nike_ljq 2002-07-19
  • 打赏
  • 举报
回复
hehe ,能不能说详细一点啊,我出80分啊!嗬嗬!
lurel 2002-07-19
  • 打赏
  • 举报
回复
利用存储过程分页,我在sql server就是这么做的
lurel 2002-07-19
  • 打赏
  • 举报
回复
利用存储过程分页,我在sql server就是这么做的
wasy 2002-07-19
  • 打赏
  • 举报
回复
asp中有recordset,php中可沒有
可以用存儲過程寫一個獨立於語言的分頁程序。要用到臨時表
wasy 2002-07-19
  • 打赏
  • 举报
回复
點幾管理:)
nike_ljq 2002-07-19
  • 打赏
  • 举报
回复
呵呵,请问怎么给分啊!
菜鸟的问题啊!
tttk 2002-07-19
  • 打赏
  • 举报
回复
我曾经做过一个ASP+Oracle的项目,其中遇到分页问题,我是这样处理的:
<%
Dim rs, iPage, sSQL, CurPage

sSQL = "your SELECT clause here"
Set rs = GetRS(sSQL) //自定义函数,传入SQL字符串,返回Recordset

If rs.EOF Then
Response.Write "<div align=center class=f14><BR>没有找到您指定的记录。<BR><BR></div>"
Else
If Request("page")<>"" Then
CurPage = Request("page")
Else
CurPage = 1
End If
rs.PageSize = countpage '全局变量,指定每页显示记录数
rs.AbsolutePage = CurPage
For iPage = 1 To rs.PageSize
%>
在此编码
<%
Next
%>

###############################################################
以下函数在页面中调用,用来显示上一页下一页等导航条
###############################################################
'***********************************************************************************************
'函数功能:设置页面分页
'参数:当前页面的URL
'返回:HTML代码,用来实现第一页、上一页、下一页、最后一页,页码等
'***********************************************************************************************
Function SetPage(Rs, CurPage)
Dim sHTML, i

'设置第一页
sHTML = sHTML & "<input type='button' value='首页' class='grpbtn' onClick=""javascript:location.assign('" & GetNewURL("page", 1) & "')"">"

'设置上一页
If CurPage-1>0 Then
sHTML = sHTML & "<input type='button' value='前页' class='grpbtn' onClick=""javascript:location.assign('" & GetNewURL("page", CurPage-1) & "')"">"
Else
sHTML = sHTML & "<input type='button' value='前页' class='grpbtn' disabled=yes>"
End If

'设置下一页
If CurPage+1 <= Rs.PageCount Then
sHTML = sHTML & "<input type='button' value='后页' class='grpbtn' onClick=""javascript:location.assign('" & GetNewURL("page", CurPage+1) & "')"">"
Else
sHTML = sHTML & "<input type='button' value='后页' class='grpbtn' disabled=yes>"
End If

'设置最后一页
sHTML = sHTML & "<input type='button' value='末页' class='grpbtn' onClick=""javascript:location.assign('" & GetNewURL("page", Rs.PageCount) & "')"">"

sHTML = sHTML & "页码:" & CurPage & "/" & Rs.PageCount
sHTML = sHTML & " 转到 <select name=page style=""WIDTH: 35px; HEIGHT: 23px"">"

For i=1 to Rs.PageCount
sHTML = sHTML & "<option value=" & i & ">" & i & "</option>"
next
sHTML = sHTML & "</select>"

sHTML = sHTML & "<input class=grpbtn type=button value="" GO "" onClick=""javascript:var page=document.all.page.value; location.replace('" & _
GetNewURL("page", "") & "'+document.all.page.value)"">"

SetPage = sHTML
End Function

'***********************************************************************************************
'函数功能:替换当前URL中字段的值,例如,abc.asp?id=1, GetNewURL("id", 2)将返回abc.asp?id=2
'参数:1、要替换的字段名,2、替换值
'返回:URL
'***********************************************************************************************
Function GetNewURL(field, value)
Dim CurURL, CurQueryStr
CurURL = Request.ServerVariables("URL")
CurQueryStr = MoveStrStr(Request.ServerVariables("QUERY_STRING"), field & "=", "", "&")

If CurQueryStr<>"" Then
GetNewURL = CurURL & "?" & CurQueryStr & "&" & field & "=" & value
Else
GetNewURL = CurURL & "?" & field & "=" & value
End If
End Function

'***********************************************************************************************
'函数功能:返回当前URL
'参数:
'返回:URL
'***********************************************************************************************
Function GetURL()
Dim CurURL, CurQueryStr
CurURL = Request.ServerVariables("URL")
CurQueryStr = Request.ServerVariables("QUERY_STRING")

If CurQueryStr<>"" Then
GetURL = CurURL & "?" & CurQueryStr
Else
GetURL = CurURL
End If
End Function
telescope 2002-07-19
  • 打赏
  • 举报
回复
我早就发现了,ODBC不支持分页,你得手工编程实现喽.
设置一个变量表示每页第一条记录位置,比如$offset,再设置一个变量表示每页的行数,比如$pageline,
用查询结果的总行数,除以每页行数,结果再加1就是总的页数.每页显示从$offset开始的$pageline行记录不就OK啦?
LeeMaRS 2002-07-18
  • 打赏
  • 举报
回复
似乎不应该......
Bird1945 2002-07-18
  • 打赏
  • 举报
回复
upup
nike_ljq 2002-07-18
  • 打赏
  • 举报
回复
是啊,oracle好像不支持limit,
怎么办啊,急救啊!120
120
120
LeeMaRS 2002-07-18
  • 打赏
  • 举报
回复
? 不能用limit?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧