在php中使用jquery ajax的分页

时间:2015-07-10 05:55:30

标签: php jquery ajax

我使用以下代码创建分页

  function paginationGenerate(page,pageCount) {
alert("hai");
alert(page);
var pagination = "<ul class=\"pagination\"><li><a href=\"#\" onclick=\"paginationGenerate(checkPrevious(" + page + ")," + pageCount + ") \">&laquo;</a></li>";

/* Page Range Calculation */
var range = pageRange(page, pageCount);
var start = range.start;
var end = range.end;

for (var page_id = start; page_id <= end; page_id++) {
    if (page_id != page) pagination += "<li><a href=\"#\" onclick=\"paginationGenerate(" + page_id + "," + pageCount + ")\">" + page_id + "</a></li>";
    else pagination += "<li class='active'><span>" + page_id + "</span></li>";
}
pagination += "<li><a href=\"#\" onclick=\"paginationGenerate(checkNext(" + page + "," + pageCount + ")," + pageCount + ")\">&raquo;</a></li></ul>";

/* Appending Pagination */
$('.pagination').remove();
$('body').append(pagination);

}

 /* Pagination Navigation */
 function checkPrevious(id) {
if (id > 1) {
    return (id - 1);
}
return 1;

}

 /* Pagination Navigation */
  function checkNext(id, pageCount) {
if (id < pageCount) {
    return (id + 1);
}
return id;

}

  /* Page Range calculation Method for Pagination */
  function pageRange(page, pageCount) {

var start = page - 2,
    end = page + 2;

if (end > pageCount) {
    start -= (end - pageCount);
    end = pageCount;
}
if (start <= 0) {
    end += ((start - 1) * (-1));
    start = 1;
}

end = end > pageCount ? pageCount : end;

return {
    start: start,
    end: end
};

}

 function pageNo() {
console.log("Hello");
}

然后,下面的代码用于查看分页记录:

  function  view_data()
  {
   //alert("Display");

    $.ajax({

        url     :   "operations.php?funct1=view",
        type    :   "POST",
        dataType: "html",

        success: function(result) {
                //console.log(result);
                 paginationGenerate(2,3); 
                $('#view').html(result);    

              },            
        });
      $('#display').hide(); 

      return false;

}

我使用单独的函数进行CRUD操作,因此在我的operations.php中,我有以下代码来执行视图:

  if(isset($_GET['funct1']))
 {
     $func_get  =   $_GET['funct1'];        
     if($func_get   ==  'view')
     {          
        $val->view_data();      
     }
 }

 In a class `db_operations` i'm having the below code:

  function view_data()
{
    $tbl_name="ajax_insert";
    $num_page =10;

    if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * $num_page; 

    $view ="SELECT * FROM `ajax_insert` LIMIT $start_from, $num_page";
    //echo $view;
    $exe_view = mysql_query($view);
    if($exe_view === FALSE) 
    { 
          die(mysql_error()); // TODO: better error handling
    }
    $num = mysql_num_rows($exe_view);
    if($num == 0)
    {
        echo "<div class='success-align'><span class='failed'>No Available Data Here!!Please Insert a data</span></div>";

    }
    else
    {
        echo '<table class="table_data">
                  <th>ID</th>
                  <th>User Name</th>
                  <th>Address</th>
                  <th>Email</th>
                  <th>Mobile</th> 
                  <th>City</th>
                  ';
           $i=1;
          while($fetch_details = mysql_fetch_assoc($exe_view))
            {
                $slNo = $i+$start_from; //to display the record number continuously 
                echo "<tr>";
                echo "<td>".$slNo."</td>";
                echo "<td>".ucfirst($fetch_details['user_name'])."</td>";
                echo "<td>".ucfirst($fetch_details['address'])."</td>";
                echo "<td>".$fetch_details['email']."</td>";
                echo "<td>".$fetch_details['mobile']."</td>";
                echo "<td>".$fetch_details['city']."</td>";                    
              ?>
             <td><a href="javascript:void(0)" onclick="return edit_funct('<?php echo $fetch_details['id']; ?>')">Edit</a></td>
             <td><a href="JavaScript:void(0)" onclick="return delete_funct('<?php echo $fetch_details['id'];?>')">Delete</a></td>

             </tr>
        <?php
        $i++;
        }
    echo '</table>';

    //echo pagination($tbl_name,$num_page,$page); 
 }
}

从这个我如何使用ajax获取我的分页。当我使用上面的代码时,它显示

enter image description here

当我点击它时,它不会以适当的记录移动。

我之前的部分没有这样做。所以我需要帮助在ajax中进行分页:(

我不知道这样做。请帮助我!!

但我需要在jquery ajax中创建一个分页。如何在jquery ajax中实现它?

2 个答案:

答案 0 :(得分:0)

希望这会有所帮助:https://jsfiddle.net/qsLp6ajL/4/

function paginationGenerate(page,pageCount) {
/* page - current page, pageCount - total pages */ 
var pagination = "<ul class=\"pagination\"><li><a href=\"#\" onclick=\"paginationGenerate(checkPrevious(" + page + ")) \">&laquo;</a></li>";

/* Page Range Calculation */
var range = pageRange(page, pageCount);
var start = range.start;
var end = range.end;

for (var page_id = start; page_id <= end; page_id++) {
    if (page_id != page) pagination += "<li><a href=\"#\" onclick=\"paginationGenerate(" + page_id + ")\">" + page_id + "</a></li>";
    else pagination += "<li class='active'><span>" + page_id + "</span></li>";
}
pagination += "<li><a href=\"#\" onclick=\"paginationGenerate(checkNext(" + page + "," + pageCount + "))\">&raquo;</a></li></ul>";

/* Appending Pagination */
$('.pagination').remove();
$('body').append(pagination);
}

/* Pagination Navigation */
function checkPrevious(id) {
    if (id > 1) {
       return (id - 1);
    }
    return 1;
}

/* Pagination Navigation */
function checkNext(id, pageCount) {
    if (id < pageCount) {
        return (id + 1);
    }
return id;
}

/* Page Range calculation Method for Pagination */
function pageRange(page, pageCount) {

   var start = page - 2,
       end = page + 2;

   if (end > pageCount) {
      start -= (end - pageCount);
      end = pageCount;
   }
   if (start <= 0) {
      end += ((start - 1) * (-1));
      start = 1;
   }

   end = end > pageCount ? pageCount : end;

   return {
      start: start,
       end: end
   };
}

答案 1 :(得分:0)

你用Google搜索了答案吗?这是一个非常简单和常见的主题,你可以通过谷歌搜索找到好文章。

阅读以下文章:

http://www.sitepoint.com/pagination-jquery-ajax-php/

http://www.infotuts.com/ajax-pagination-mysql-php-and-jquery/

由于