下面是一段SQL查询代码,将符合条件的数据都调用出来。要显示的数据很多,都在同一页面显示导致页面相应时间过长,我想加个分页功能,每页显示100条。用JS可以实现吗?
我用的是MYSQL数据库,用的是DEDECMS系统,程序是PHP程序,当前页是静态页面。 <div class="BJFuJinMain">
<ul>
{dede:sql sql="SELECT a.id,p.aid,a.title,p.dfjiudianxingji,p.dfxianfujiayi FROM dede_addonshop p left join dede_archives a on a.id = p.aid WHERE p.dfshangyequ =522 and p.typeid < 622 and p.typeid > 603 and a.flag like '%c%' order by a.id desc LIMIT 0 , 6"} <li><span class="HotelName"><a href="http://www.123.com.cn/html/hotel/zhixiashi/beijing/2010/0619/[field:aid/].html" title="[field:title/]">[field:title/]</a></span><span class="HotelXingJi"><img src="http://www.123.com.cn/templets/default/images/bj[field:dfjiudianxingji /].jpg" /></span><span class="HotelJiaGe">¥[field:dfxianfujiayi /]</span></li>
{/dede:sql}
</ul>
</div>
我用的是MYSQL数据库,用的是DEDECMS系统,程序是PHP程序,当前页是静态页面。 <div class="BJFuJinMain">
<ul>
{dede:sql sql="SELECT a.id,p.aid,a.title,p.dfjiudianxingji,p.dfxianfujiayi FROM dede_addonshop p left join dede_archives a on a.id = p.aid WHERE p.dfshangyequ =522 and p.typeid < 622 and p.typeid > 603 and a.flag like '%c%' order by a.id desc LIMIT 0 , 6"} <li><span class="HotelName"><a href="http://www.123.com.cn/html/hotel/zhixiashi/beijing/2010/0619/[field:aid/].html" title="[field:title/]">[field:title/]</a></span><span class="HotelXingJi"><img src="http://www.123.com.cn/templets/default/images/bj[field:dfjiudianxingji /].jpg" /></span><span class="HotelJiaGe">¥[field:dfxianfujiayi /]</span></li>
{/dede:sql}
</ul>
</div>
我可以用JS控制 <li></li>显示的条目吗?
另外全部取出列表再分页是很不好的设计,要把指定的页数据返回给客户端就好了。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var PAGE_SIZE = 3;
var currentPage = 1;
function priviousPage() {
var tBody = document.getElementById('container');
var startIndex = (currentPage - 1) * PAGE_SIZE;
for (var index = startIndex; index < startIndex + PAGE_SIZE; index++) { if (!tBody.childNodes[index]) {
continue;
}
tBody.childNodes[index].style.display = 'none';
}
currentPage = currentPage == 1 ? 1 : currentPage - 1;
startIndex = (currentPage - 1) * PAGE_SIZE;
for (var index = startIndex; index < startIndex + PAGE_SIZE; index++) {
if (!tBody.childNodes[index]) {
continue;
}
tBody.childNodes[index].style.display = '';
}
} function nextPage() {
var tBody = document.getElementById('container');
var pageNum = parseInt((tBody.childNodes.length - 1) / PAGE_SIZE) + 1; var startIndex = (currentPage - 1) * PAGE_SIZE;
for (var index = startIndex; index < startIndex + PAGE_SIZE; index++) {
if (!tBody.childNodes[index]) {
continue;
}
tBody.childNodes[index].style.display = 'none';
}
currentPage = currentPage >= pageNum ? pageNum : currentPage + 1;
startIndex = (currentPage - 1) * PAGE_SIZE;
for (var index = startIndex; index < startIndex + PAGE_SIZE; index++) {
if (!tBody.childNodes[index]) {
continue;
}
tBody.childNodes[index].style.display = '';
}
} function initPage() {
var tBody = document.getElementById('container');
var startIndex = PAGE_SIZE; for (var index = PAGE_SIZE; index < tBody.childNodes.length; index++) {
tBody.childNodes[index].style.display = 'none';
}
} window.onload = function() {
initPage();
};
</script></head>
<body>
<input type="button" value="priviousPage" onclick="priviousPage();"></input>
<input type="button" value="nextPage" onclick="nextPage();"></input>
<table>
<tbody id="container">
<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>2</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>3</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>4</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>5</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>6</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>7</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><td>8</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
</tbody>
</table>
</body>
</html>把记录全部打出来,然后用以上方法设置隐藏