加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

一个很强大的分页代码。

发布时间:2021-01-11 09:10:48 所属栏目:MySql教程 来源:网络整理
导读:以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 ' * 数据库转json 分页公用类库' * EMAIL:[email?protected] QQ:82366788 $' * $Author: Cason $' * $Id: yl_clsjson.asp 6481 2011-11-26 00:21:46 Cason $property

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

' * 数据库转json  分页公用类库
' * EMAIL:[email?protected] QQ:82366788 $
' * $Author: Cason $
' * $Id: yl_clsjson.asp 6481 2011-11-26 00:21:46 Cason $
	property get order_name()
		dim o_sql,o_colum,olen,o_pai,i
		dim left_sql,right_sql
		o_sql = Cason_sql
		olen = instr(o_sql,"order")
		left_sql = left(o_sql,olen-1)
		right_sql = trim(mid(o_sql,olen))
		if olen = 0 then
			response.write "请设定排序方式!"
			response.end
		end if 
		o_sql = split(right_sql," ")
		for i = 0 to ubound(o_sql)
			if o_sql(i) = "by" then 
				if i>1 then
					o_sql(1) = "by"
					o_sql(i) = ""
				end if 
			end if 
			if i>2 and o_sql(2) = "" and o_sql(i) <> "" then
				o_sql(2) = o_sql(i)
				o_sql(i) = ""
			end if 
			if o_sql(i) = "asc" or o_sql(i) = "desc" then
				if i >3  then
					o_sql(3) = o_sql(i)
					o_pai = " " & o_sql(i)
					o_sql(i) = ""
					exit for 
				end if 
			end if 
		next
		right_sql = join(o_sql)
		if o_pai = "" then
			o_pai = " asc"
			right_sql = replace(right_sql,o_sql(2),o_sql(2) & " asc")
		end if 
		cason_sql = left_sql & right_sql
		
		order_name = o_sql(2) & o_pai
		
	end property
	
	property get th(ByVal str_val)
		if instr(str_val,"desc") >0 then
			th = replace(str_val,"desc","asc")
		else
			th = replace(str_val,"asc","desc")
		end if 
	end property 
	'================================================================
	' ResultSet 返回分页后的记录集
	'================================================================
	public Property Get ResultSet()
		dim Cason_Rs,col_name
		dim top_sql,top_Count,select_sql
		dim set_sql 
		col_name = order_name
		if int(Cason_CurrPage) = 1 then
			top_sql = " top " & Cason_PageSize & " "
			top_Count = 0
		else
			top_sql = " top " & (Cason_CurrPage) * Cason_PageSize & " "
			top_Count = (Cason_CurrPage - 1) * Cason_PageSize 
		end if 
		set_sql = "select" & top_sql & trim(mid(Cason_sql,7))
		select_sql = "set rowcount " & Cason_PageSize & ";select * from (select top " & Cason_PageSize & " * from (" & set_sql & ") z order by " & th(col_name) & " ) zz order by zz." & col_name 
		set Cason_Rs = yl.GetRs(select_sql,1,1)
		if int(Cason_CurrPage)>Cason_Rs.pagecount then
			Cason_CurrPage = Cason_Rs.pagecount
		end if
		Cason_Rs.PageSize	= Cason_PageSize
		Cason_JsonHtml = ",""iRecCount"":""" & num_rows & """"
		response.write toJSON("""info""",Cason_Rs)
	End Property

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!