>웹 프론트엔드 >JS 튜토리얼 >Ajax에서 페이징 및 페이징 쿼리 기능을 구현하는 단계에 대한 자세한 설명

Ajax에서 페이징 및 페이징 쿼리 기능을 구현하는 단계에 대한 자세한 설명

php中世界最好的语言
php中世界最好的语言원래의
2018-04-02 10:38:042141검색

이번에는 ajax로 페이징 및 페이징 쿼리 기능을 구현하는 단계에 대해 자세히 설명하겠습니다. ajax에서 페이징 및 페이징 쿼리 기능을 구현하는 데 있어 주의 사항은 무엇입니까? 다음은 실제 사례입니다. 봐.

우선 페이지를 깔끔하고 아름답게 만들기 위해 bootstrap을 사용했습니다. 필요한 파일 패키지를 가져와야 합니다

<link href="dist/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css" />
<script src="../jquery/jquery-1.11.2.min.js"></script>
<script src="dist/js/bootstrap.min.js"></script>

다음은 페이지에 표시되는 내용입니다

<p><input type="text" id="name" /> <input type="button" value="查询" id="chaxun" /></p>
<br />
<table class="table table-striped">
 <thead>
 <tr>
  <th width="30%">国家代号</th>
  <th width="30%">国家名称</th>
  <th width="40%">父级代号</th>
 </tr>
 </thead>
 <tbody id="tb">
 </tbody>
</table>
<br />
<p><ul class="pagination" id="fenye">
</ul></p>

다음은 ajax를 이용한 js 부분입니다.

<script type="text/javascript">
var page = 1; //当前页
//加载数据
Load();
//加载分页信息
LoadFenYe();
//给查询加点击事件
$("#chaxun").click(function(){
  //将当前页重置
  page = 1;
  //加载数据
  Load();
  //加载分页信息
  LoadFenYe();
 })
//加载分页信息的方法
function LoadFenYe()
{
 var s = "";
 var name = $("#name").val();
 var minys = 1;
 var maxys = 1;
 $.ajax({
  async:false,
  data:{name:name},
  type:"POST",
  url:"zys.php",
  dataType:"TEXT",
  success: function(data){
    maxys = data;
   }
 });
 //加载上一页
 s += "<li class=&#39;syy&#39;><a>«</a></li>";
 //加载分页列表
 for(var i=page-4;i<page+5;i++)
 {
  if(i>=minys && i<=maxys)
  {
   if(i==page)
   {
    s += "<li class=&#39;active list&#39;><a>"+i+"</a></li>";
   }
   else
   {
    s += "<li class=&#39;list&#39;><a>"+i+"</a></li>";
   }
  }
 }
 //加载下一页
 s += "<li class=&#39;xyy&#39;><a>»</a></li>";
 //显示分页列表
 $("#fenye").html(s);
 //给列表加点击事件
 $(".list").click(function(){
   //改变当前页
   page = $(this).text();
   //加载数据
   Load();
   //加载分页信息
   LoadFenYe();
  })
 //上一页加点击事件
 $(".syy").click(function(){
   //改变当前页
   if(page>1)
   {
    page = parseInt(page)-1;
    //加载数据
    Load();
    //加载分页信息
    LoadFenYe();
   }
  })
 //下一页加点击事件
 $(".xyy").click(function(){
   //改变当前页
   if(page<maxys)
   {
    page = parseInt(page)+1;
    //加载数据
    Load();
    //加载分页信息
    LoadFenYe();
   }
  })
}
//加载数据的方法
function Load()
{
 var name = $("#name").val();
 $.ajax({
  url:"jiazai.php",
  data:{page:page,name:name},
  type:"POST",
  dataType:"TEXT",
  success: function(data){
    var str = "";
    var hang = data.split("|");
    for(var i=0;i<hang.length;i++)
    {
     var lie = hang[i].split("^");
     str = str+"<tr><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>"+lie[2]+"</td></tr>";
    }
    $("#tb").html(str);
   }
 });
}

jiazai.php 페이지를 작성하는 코드는 다음과 같습니다.

<?php
include("DADB.class.php");
$db=new DADB();
$page=$_POST["page"];
$key=$_POST["name"];
$num=20;
$tiao=($page-1)*$num;
$sql="select * from chinastates WHERE areaname like &#39;%{$key}%&#39; limit {$tiao},{$num}";
echo $db->StrQuery($sql,1);

zys.php 코드는 다음과 같습니다.

<?php
include("DADB.class.php");
$db=new DADB();
$key=$_POST["name"];
$sql="select count(*) from chinastates where areaname like &#39;%{$key}%&#39;"; //显示总共有多少条内容
$zts=$db->StrQuery($sql);
echo ceil($zts/20);

믿습니다. 이 기사의 사례를 읽으신 후 방법을 마스터하셨습니다. PHP 중국어 웹사이트의 다른 관련 기사에도 관심을 가져주세요!

추천 자료:

jQuery+Ajax는 입력한 인증 코드가 통과하는지 확인합니다

Ajax 도메인 간 요청은 쿠키를 사용할 수 없습니다

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

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