>웹 프론트엔드 >JS 튜토리얼 >Ajax는 페이징 쿼리 기능을 구현합니다.

Ajax는 페이징 쿼리 기능을 구현합니다.

php中世界最好的语言
php中世界最好的语言원래의
2018-03-31 16:11:351785검색

이번에는 ajax를 통해 페이징 쿼리 기능을 구현하는 방법을 소개하겠습니다. ajax를 통해 페이징 쿼리 기능을 구현하기 위한 노트는 무엇인지 살펴보겠습니다.

Ajax 페이징 쿼리 함수의 구체적인 코드는 참고용입니다. 구체적인 내용은 다음과 같습니다.

표시되는 효과는 다음과 같습니다.

효과를 구현하는 코드는 다음과 같습니다.

1.fenye.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link type="text/css" rel="stylesheet" href="../bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="external nofollow" />
<script src="../jquery-3.2.0.min.js"></script>
<script src="../bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<style type="text/css">
.list:hover{ cursor:pointer}
#prev:hover{ cursor:pointer}
#next:hover{ cursor:pointer}
</style>
</head>
<body>
<p class="page-header">
<h1>AJAX分页</h1>
</p>
<p>名称:<input type="text" id="name" /> <button type="button" class="btn btn-info btn-xs" id="chaxun">查询</button></p>
<br />
<table width="100%" class="table table-hover">
 <tr>
  <td>代号</td>
  <td>名称</td>
 </tr>
 
 <tbody id="shuju">
  
 </tbody>
 
</table>
<br />
<ul class="pagination" id="xinxi"></ul>
</body>
<script type="text/javascript">
//代表当前页
var page = 1;
//每页显示几条
var num = 5;
//加载数据
Load();
//加载分页列表
LoadFenYe();
//加载数据的方法
function Load()
{
 var name = $("#name").val();
 $.ajax({
  url:"chuli.php",
  data:{page:page,num:num,name:name},
  type:"POST",
  dataType:"JSON",
  success: function(data){
   var str = "";
   for(var k in data)
   {
    str = str + "<tr><td>"+data[k].code+"</td><td>"+data[k].nno+"</td></tr>";
   }
   $("#shuju").html(str);
  } 
 });
}
//加载分页信息
function LoadFenYe()
{
 //存储所有分页信息的代码
 var s = "";
 var name = $("#name").val();
 //加载上一页
 s = "<li><a id=&#39;prev&#39;>«</a></li>";
 
 //加载列表
 var zts = 0;
 $.ajax({
  async:false,
  data:{name:name},
  type:"POST",
  url:"zongtiaoshu.php",
  dataType:"TEXT",
  success: function(data){
   zts = data;
  }
 });
 
 //求总页数
 var zys = Math.ceil(zts/num);
 //为了防止出错
 page = parseInt(page);
 for( var i=page-2;i<page+3;i++)
 {
  if(i>0 && i<=zys)
  {
   if(i==page)
   {
    s = s+"<li class=&#39;active&#39;><a ys=&#39;"+i+"&#39; class=&#39;dangqian&#39;>"+i+"</a></li>";
   }
   else
   {
    s = s+"<li><a ys=&#39;"+i+"&#39; class=&#39;list&#39;>"+i+"</a></li>";
   }
   
  }
 }
 
 //加载下一页
 s = s+"<li><a id=&#39;next&#39;>»</a></li>";
 
 $("#xinxi").html(s);
 
 //给上一页加事件
 $("#prev").click(function(){
  page = parseInt(page);
  if(page>1)
  {page--;}
  
  //重新加载数据
  Load();
  //重新加载分页信息
  LoadFenYe();
 })
 //给下一页加事件
 $("#next").click(function(){
  page = parseInt(page);
  if(page<zys)
  {page++;}
  
  //重新加载数据
  Load();
  //重新加载分页信息
  LoadFenYe();
 })
 
 //给列表加事件
 $(".list").click(function(){
  page = parseInt($(this).attr("ys"));
  //重新加载数据
  Load();
  //重新加载分页信息
  LoadFenYe();
 })
}
$("#chaxun").click(function(){
 //重新加载数据
 Load();
 //重新加载分页信息
 LoadFenYe();
})
</script>
</html>

2.chuli.php

<?php
$page = $_POST["page"];
$num = $_POST["num"];
$name = $_POST["name"];
require "../DBDA.class.php";
$db = new DBDA();
$tguo = ($page-1)*$num;
$sql = "select * from nation where nno like &#39;%{$name}%&#39; limit {$tguo},{$num}";
echo $db->jsonquery($sql);

3.zongtiaoshu.php

<?php
$name = $_POST["name"];
require"../DBDA.class.php";
$db = new DBDA();
$sql ="select count(*) from nation where nno like &#39;%{$name}%&#39;";
echo $db->strquery($sql);

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 다른 기사에 주목하세요. PHP 중국어 웹사이트에 관련 기사가 있습니다!

추천 자료:

Ajax를 사용하여 댓글을 제출하고 자동으로 새로 고치는 방법

브라우저가 Ajax 요청을 기억하고 앞뒤로 이동하도록 브라우저를 제어하는 ​​방법

위 내용은 Ajax는 페이징 쿼리 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.