比如说数据库中有一百条数据。。
一页显示N 条。。然后下面显示 出1 2 3 4 5 6 ....点击数字就能显示下一页的数据这个是怎么做的??是不是每次从数据库取多少条数据。
我不知道。。具体的思路。求解....分不多见谅
一页显示N 条。。然后下面显示 出1 2 3 4 5 6 ....点击数字就能显示下一页的数据这个是怎么做的??是不是每次从数据库取多少条数据。
我不知道。。具体的思路。求解....分不多见谅
页面方法调用:
<td class="font-news" align="right">
<a id="lnkFirst" onclick="DisplayData(1);" style="cursor: pointer;">首页</a> <a id="lnkPrevious" onclick="DisplayData(--g_nIndex);" style="cursor: pointer;">上一页</a> <span id="PageLinks"></span> <a id="lnkNext" onclick="DisplayData(++g_nIndex);;" style="cursor: pointer;">下一页</a> <a id="lnkLast" onclick="DisplayData(g_nTotal);" style="cursor: pointer;">尾页</a> <span id="spPageJump">跳转至<select name="select" id="PageSelect" style="width: 40px" tabindex="0" onchange="PageSelectChanged();" onblur="window.focus();"></select>页</span>
</td>
JS方法:首先取得你写入xml文件的所有节点
//初始化分页时页码显示的HTML
var orgPageLink = "<a onclick='{OnCblChang}' style='{Style}'>{PageNO}</a> ";
function DisplayData(nPageIndex){...//这里是你动态生成表单要显示的数据
//分页的参数控制
var g_nIndex = nPageIndex;
var n_PageSize = 6; //每页要显示的记录数
g_nTotal =Math.ceil(recordCount/n_PageSize); //recordCount是在数据库得到的记录总数
var nStartIndex =0;
var nEndIndex =0;
nStartIndex = (g_nIndex-1) * n_PageSize +1;
nEndIndex = g_nIndex * n_PageSize;
SetPageLinks(g_nIndex,g_nTotal);
}
//设置分页按钮显示
function SetPageLinks(pageIndex,pageTotal){
$("#PageLinks").html("");
var MIN = pageIndex;
var MAX = pageTotal;
MIN = (MIN - 6 <= 0)? 1 : MIN - 5;
MAX = MIN + 9;
MAX = (MAX > pageTotal) ? pageTotal: MAX;
MIN = (MAX - MIN < 10) ? MAX - 9 : MIN;
MIN = (MIN <= 0) ? 1 : MIN;
for(var i=MIN;i<=MAX;i++)
{
var strPageLink = orgPageLink;
if(pageIndex == i)
{
strPageLink = strPageLink.replace(/{OnCblChang}/g,"return;");
strPageLink = strPageLink.replace(/{Style}/g,"color:Red;font-weight:bolder;");
}
else
{
strPageLink = strPageLink.replace(/{OnCblChang}/g,"DisplayData({PageNO});");
strPageLink = strPageLink.replace(/{Style}/g,"cursor: pointer;");
}
strPageLink = strPageLink.replace(/{PageNO}/g,i);
$("#PageLinks").append(strPageLink);
$("#lnkPrevious").show();
$("#lnkNext").show();
$("#lnkFirst").show();
$("#lnkLast").show();
if (pageIndex <= 1)
{
$("#lnkPrevious").hide();
$("#lnkFirst").hide();
}
if (pageIndex - pageTotal >= 0)
{
$("#lnkNext").hide();
$("#lnkLast").hide();
}
var objPageSelect = document.getElementById("PageSelect");
objPageSelect.selectedIndex = pageIndex-1;
}
}
function FillSelect(pageIndex,pageTotal)
{
try
{
if(pageTotal ==0)
{
$("#spPageJump").hide();
}
else
{
$("#spPageJump").show();
$("#PageSelect").show();
$("#PageSelect").html("");
var strOption = "";
for(var i=1;i<=pageTotal;i++)
{
if(pageIndex == i)
{
strOption += "<option selected='selected' value=" + i + ">"+ i + "</option>";
}
else
{
strOption += "<option value=" + i + ">"+ i + "</option>";
}
}
$("#PageSelect").append(strOption);
var objPageSelect = document.getElementById("PageSelect");
objPageSelect.options[pageIndex-1].selected = true;
}
}
catch(e){}
}//Select page index jump
function PageSelectChanged()
{
try
{
var objPageSelect = document.getElementById("PageSelect");
var page = objPageSelect.options[objPageSelect.selectedIndex].value
$("#PageSelect").blur();
DisplayData(page);
}
catch(e){}
}
i:当前页码select top n * from table where id not in (select top n*(i-1) id from table order by xxx) order by xxx
这个不错。
比如select top 10 * from table where id not in (select top 页*行数 id from table where 条件 order by id ) and 条件 order by id然后有条语句 ,总数量
select count(*) from table