帮忙看下这个mysql分页语句怎么写怎么写

帮忙看下这个分页为什么生成的数据是乱的呢?
作者:用户
浏览:162 次
&%@LANGUAGE="VBscript"CODEPAGE=65001%&&%OptionExplicitResponse.Charset="UTF-8"Response.Buff
问题描述&%@LANGUAGE="VBscript"CODEPAGE=65001%&&%OptionExplicitResponse.Charset="UTF-8"Response.Buffer=TrueSession.CodePage=6;----------------------------------------------------------------------------------'本页:'生成处理页面'说明:'LastModifyByLuzhu(TsysChina.Net)'----------------------------------------------------------------------------------%&&!--#includefile="inc/Config.class.asp"--&&!--#includefile="inc/DBControl.class.asp"--&&!--#includefile="inc/FunctionLib.class.asp"--&&!--#includefile="inc/Manager.class.asp"--&&!--#includefile="inc/TagParser.class.asp"--&&%DimCfg,Db,FLib,Admin,Fso,TParserDimProgramStart,TotalNum,FinishedNum,CurrPage,PageSizeProgramStart=TimerTotalNum=0FinishedNum=0SetCfg=NewConfigSetDb=NewDBControlSetFLib=NewFunctionLibSetAdmin=NewManagerSetFso=Server.CreateObject(Cfg.FileSystemObject_Name)SetTParser=NewTagParserIfNotAdmin.LoginedThenFLib.Alert"对不起,你已经超时或未登录","./",1Response.EndEndIfIfNotAdmin.CheckPopedom("TSYS_GROUP4_CREATE")ThenFLib.Alert"权限不足","BACK",0Response.EndENdIfDb.Open()DimWorkWork=Request("Work")'选择执行操作SelectCaseWorkCase"Create":StartCreate()CaseElseEndSelectFunctionStartCreate()Dimclass_list,allpage,MyclassArray,I,Rs,sqlclass_list=FLib.SafeSql(Request("class_list"))allpage=FLib.SafeSql(Request("allpage"))Ifclass_list="0"Thenclass_list=""Sql=ExeSql(3)SetRs=Db.ExeCute(Sql)WhileNotRs.Eofclass_list=class_list&","&Rs("ClassID")Rs.MoveNextWendclass_list=Mid(class_list,2)Rs.CloseSetRs=NothingEndIfMyclassArray=Split(class_list,",")ForI=0ToUBound(MyclassArray)CreateListMyclassArray(I),allpageNextFLib.Alert"生成完毕,本次生成共花费("&(Timer-ProgramStart)&")秒,详细:n1.符合生成条件数:"&TotalNum&"n2.实际生成成功数:"&FinishedNum&"n3.本次生成失败数:"&(TotalNum-FinishedNum)&"n---------------------------------------------------------------n生成时间:"&NOW(),"BACK",0Response.EndEndFunctionFunctionCreateList(class_id,allpage)DimPageCount,TotalResNum,list_path,list_name,real_list_path,template_path,class_title,listfile_name,class_url,CreatedPageDimRs,Sql,TempContentDimsqlWhere,sqlTemp'取得列表模板和生成列表路径Sql=ExeSql(2)sqlWhere="A.ClassIDIN("&class_id&")"Sql=Replace(Sql,"{sqlWhere}",sqlWhere)SetRs=Db.ExeCute(Sql)list_path=Rs("ListPathRule")list_name=Rs("ListNameRule")PageSize=Rs("ListNum")template_path=Rs("Path")class_title=Rs("Title")CreatedPage=Rs("CreatedPage")class_url=list_path&"/"&list_nameRs.CloseIfFLib.ChkPathType(list_path)=2Thenreal_list_path=Server.MapPath(list_path)Elsereal_list_path=Replace(list_path,"/","")EndIfIfNotFso.FolderExists(real_list_path)ThenFLib.CreateFolderreal_list_pathEndIf'取得数据的数目Sql=ExeSql(0)Ifclass_id&&"0"ThensqlWhere="ClassIN("&class_id&")ANDChecked=TrueANDDeleted=FalseANDCreated=True"EndIfSql=Replace(Sql,"{sqlWhere}",sqlWhere)SetRs=Db.ExeCute(Sql)TotalResNum=Rs(0)PageCount=Int((TotalResNum-1)/PageSize)+1Rs.CloseForCurrPage=1ToPageCountSql=ExeSql(1)Ifclass_id&&"0"ThensqlWhere="ClassIN("&class_id&")ANDA.Checked=TrueANDA.Deleted=FalseANDA.Created=True"EndIfSql=Replace(Sql,"{sqlWhere}",sqlWhere)Response.Write(Sql)SetRs=Db.CreateRS()Rs.PageSize=PageSizeRs.CacheSize=Rs.PageSizeRs.OpenSql,Db.Conn,1,1IfNot(Rs.EofAndRs.Bof)ThenRs.AbsolutePage=CurrPageEndIfTotalNum=TotalNum+1TempContent=FLib.ReadFromTextFile(template_path,Cfg.CharsetStr)TempContent=TParser.ListParser(class_id,class_title,class_url,PageSize,TotalResNum,PageCount,CurrPage,TempContent,Rs)IfCurrPage=1Thenlistfile_name=Replace(list_name,"{i}","")Elselistfile_name=Replace(list_name,"{i}",CurrPage)EndIfIfCreateRes(real_list_path&""&listfile_name,TempContent)=1ThenFinishedNum=FinishedNum+1EndIfNextSetRs=NothingEndFunctionFunctionExeSql(m)DimSqlIfm=0ThenSql="SELECTCOUNT(*)FROM"&Cfg.DataBase_Pre&"ArticleListWHERE{sqlWhere}"Elseifm=1ThenSql="SELECTTOP"&(CurrPage*PageSize)&"A.*,B.ClassID,B.TitleASClassTitleFROM"&Cfg.DataBase_Pre&"ArticleListASAINNERJOIN"&Cfg.DataBase_Pre&"ClassASBONA.Class=B.ClassIDWHERE{sqlWhere}ORDERBYA.ArticleIDDESC"Elseifm=11ThenSql="SELECTTOP"&((CurrPage+1)*PageSize)&"A.*,B.ClassID,B.TitleASClassTitleFROM"&Cfg.DataBase_Pre&"ArticleListASAINNERJOIN"&Cfg.DataBase_Pre&"ClassASBONA.Class=B.ClassIDWHERE{sqlWhere}ORDERBYA.ArticleIDDESC"Elseifm=2ThenSql="SELECTA.*,B.PathFROM"&Cfg.DataBase_Pre&"ClassALEFTJOIN"&Cfg.DataBase_Pre&"TemplateBONA.ListTemplate=B.TemplateIDWHERE{sqlWhere}"ElseSql="SELECT*FROM"&Cfg.DataBase_Pre&"Class"EndIf'输出SQLResponse.Write(Sql)ExeSql=SqlEndFunction'方法:创建列表(主方法)'参数:'path生成列表文件路径'TempContent资源所将要套用的模板内容'返回:'0生成失败'1生成成功FunctionCreateRes(path,TempContent)FLib.WriteToTextFilepath,TempContent,Cfg.CharsetStrIfErr.Number=0ThenCreateRes=1ElseCreateRes=0EndIfErr.Clear()EndFunction%&解决方案解决方案二:太长。而且你说的是乱序还是乱码都不清楚。你可以找一个好使的分页函数去用。任何的CMS里都有。解决方案三:没有把问题说清楚啊……解决方案四:不好意思,是顺序乱了,麻烦帮看下
【云栖快讯】中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》加快推进基于 IPv6 的下一代互联网规模部署,计划指出2025年末中国 IPv6 规模要达到世界第一,阿里云也第一时间宣布了将全面提供IPv6服务,那么在全面部署 IPV6 前,你需要了解都在这儿&&
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供如何写一个简单的分页 - WEB前端 - 伯乐在线
& 如何写一个简单的分页
好基友现在也是个前端,昨天他问我说:
公司的大部分任务都能应付着做了,
现在要做个分页,如果用插件的话,很快就能上,
但是我想提升一下自己,怎么从头开始写一个呢,实在是一点思路也没有。
我想,很多自学前端的同学都会遇到这样一个坎儿,我能做很多东西,但是感觉自己还是啥都不会。
编程,很重要的一个技能就是抽象能力,就是现实中的琐事儿,我怎么用代码来表示。(是表示哈,不是人工智能)
我特别崇拜 ACM 的获奖者,我们公司的死月大大就曾经是 ACM 全国一等奖哦,快过来膜拜。
ACM 是做一些 c 语言算法题,但是你从中可以看到,那些题目都是从生活的例子出发,然后就得到了这样一个用 c 语言可以编程的题。
现在回归那个分页。
我们先看一下简单的需求。
当前页码前后显示 3 页,然后需要显示第一页和最后一页
未显示的页码用省略号表示。
举例:如果总共 110 页
当前页码为 1,那么显示 1 2 3 4 ... 110 下一页
当前页码为 2,那么显示 上一页 1 2 3 4 5 ... 110 下一页
当前页码为 3,那么显示 上一页 1 2 3 4 5 6 ... 110 下一页
当前页码为 4,那么显示 上一页 1 2 3 4 5 6 7 ... 110 下一页
当前页码为 5,那么显示 上一页 1 2 3 4 5 6 7 8 ... 110 下一页
当前页码为 6,那么显示 上一页 1 ... 3 4 5 6 7 8 9 ... 110 下一页
当前页码为 100,那么显示 上一页 1 ... 97 98 99 100 101 102 103 ... 110 下一页
当前页码为 109,那么显示 上一页 1 ... 106 107 108 109 110 下一页
当前页码为 110,那么显示 上一页 1 ... 107 108 109 110
那么你可能就看出来了,虽然每一页在实际应用中都是一个超链接,但是我们在思考算法时可以先将其忽略。
现在就变成了一个简单的字符串输出题。
我们先定义一个函数
function showPages (page, total) {
function showPages (page, total) {&}
盲目的就开始码代码一定是个不好的习惯,码代码之前,我们要先准备好覆盖所有情况的测试。
这个题就简单咯,我们可以把所有结果都打印出来呗。
在无需引入一个代码测试库的情况下,我们来这么干
var total = 110;
for (var i = 1; i &= i++) {
var ret = showPages(i, total);
console.log(ret);
var total = 110;&&for (var i = 1; i &= total; i++) {&&&&&&var ret = showPages(i, total);&&&&console.log(ret);}
就从页码为 1 到最后一页的结果全输出出来了。
我之所以崇拜 ACM 大神,是因为我算法能力其实一般般,所以献丑贴代码一定不要笑话我哦,咱说好,本文讲的是解决问题的思维模式。
function showPages (page, total) {
var str = page + '';
for (var i = 1; i &= 3; i++) {
if (page - i & 1) {
str = page - i + ' ' +
if (page + i & total) {
str = str + ' ' + (page + i);
if (page - 4 & 1) {
str = '... ' +
if (page & 1) {
str = '上一页 ' + 1 + ' ' +
if (page + 4 & total) {
str = str + ' ...';
if (page & total) {
str = str + ' ' + total + ' 下一页';
123456789101112131415161718192021222324252627282930
function showPages (page, total) {&&&&&&&&var str = page + '';&&&&&&&&&for (var i = 1; i &= 3; i++) {&&&&&&&&&&&&if (page - i & 1) {&&&&&&&&&&&&&&&&str = page - i + ' ' + str;&&&&&&&&&&&&}&&&&&&&&&&&&if (page + i & total) {&&&&&&&&&&&&&&&&str = str + ' ' + (page + i);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&&if (page - 4 & 1) {&&&&&&&&&&&&str = '... ' + str;&&&&&&&&}&&&&&&&&&if (page & 1) {&&&&&&&&&&&&str = '上一页 ' + 1 + ' ' + str;&&&&&&&&}&&&&&&&&&if (page + 4 & total) {&&&&&&&&&&&&str = str + ' ...';&&&&&&&&}&&&&&&&&&if (page & total) {&&&&&&&&&&&&str = str + ' ' + total + ' 下一页';&&&&&&&&}&&&&&&&&&return str;&&&&}
那么,作为一个算法题,可算是完成了,可是它不是一个分页啊,不能用啊。
别急,我们只需要把一些简单的 html 代码补充完整就行。
var str = '&a&' + page + '&/a&';
for (var i = 1; i &= 3; i++) {
if (page - i & 1) {
str = '&a class="page"&' + (page - i) + '&/a& ' +
if (page + i & total) {
str = str + ' ' + (page + i);
1234567891011121314
...&&&&&&&&&var str = '&a&' + page + '&/a&';&&&&&&&&&for (var i = 1; i &= 3; i++) {&&&&&&&&&&&&if (page - i & 1) {&&&&&&&&&&&&&&&&str = '&a class="page"&' + (page - i) + '&/a& ' + str;&&&&&&&&&&&&}&&&&&&&&&&&&if (page + i & total) {&&&&&&&&&&&&&&&&str = str + ' ' + (page + i);&&&&&&&&&&&&}&&&&&&&&}&...
这里仅仅举一个简单例子,class 名啊什么的,自己按需求修改修改就好了,必要的话,多套个 div 也没关系。
最后,贴一个大概是可以实现通用分页的思路。
function showPageCommon(config) {
return function (page, total) {
var str = '&a&' + page + '&/a&';
for (var i = 1; i &= 3; i++) {
if (page - i & 1) {
str = '&a class="' + config.color + '"&' + (page - i) + '&/a& ' +
if (page + i & total) {
str = str + ' ' + (page + i);
if (page - 4 & 1) {
str = '... ' +
if (page & 1) {
str = '上一页 ' + 1 + ' ' +
if (page + 4 & total) {
str = str + ' ...';
if (page & total) {
str = str + ' ' + total + ' 下一页';
var showPages = showPageCommon({
color: 'red'
var total = 110;
for (var i = 1; i &= i++) {
var ret = showPages(i, total);
console.log(ret);
var showPages = showPageCommon({
color: 'blue'
var total = 110;
for (var i = 1; i &= i++) {
var ret = showPages(i, total);
console.log(ret);
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
function showPageCommon(config) {&&&&&&return function (page, total) {&&&&&&&&var str = '&a&' + page + '&/a&';&&&&&&&&&for (var i = 1; i &= 3; i++) {&&&&&&&&&&&&if (page - i & 1) {&&&&&&&&&&&&&&&&str = '&a class="' + config.color + '"&' + (page - i) + '&/a& ' + str;&&&&&&&&&&&&}&&&&&&&&&&&&if (page + i & total) {&&&&&&&&&&&&&&&&str = str + ' ' + (page + i);&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&&if (page - 4 & 1) {&&&&&&&&&&&&str = '... ' + str;&&&&&&&&}&&&&&&&&&if (page & 1) {&&&&&&&&&&&&str = '上一页 ' + 1 + ' ' + str;&&&&&&&&}&&&&&&&&&if (page + 4 & total) {&&&&&&&&&&&&str = str + ' ...';&&&&&&&&}&&&&&&&&&if (page & total) {&&&&&&&&&&&&str = str + ' ' + total + ' 下一页';&&&&&&&&}&&&&&&&&&return str;&&&&}}&var showPages = showPageCommon({&&&&&&color: 'red'});&var total = 110;&&for (var i = 1; i &= total; i++) {&&&&&&var ret = showPages(i, total);&&&&console.log(ret);}&var showPages = showPageCommon({&&&&&&color: 'blue'});&var total = 110;&&for (var i = 1; i &= total; i++) {&&&&&&var ret = showPages(i, total);&&&&console.log(ret);}
输出的 html 打印出来就是一个红色主题的分页,和一个蓝色主题的分页。
可能感兴趣的话题
关于伯乐前端
伯乐前端分享Web前端开发,包括JavaScript,CSS和HTML5开发技术,前端相关的行业动态。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2018 伯乐在线}

我要回帖

更多关于 jquery怎么写分页 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信