首页 > 开发 > PHP > 正文

php Ajax分页简单应用实例

2024-05-04 23:06:47
字体:
来源:转载
供稿:网友

本文章利用Ajax分页来简单讲述一下如何利用php与ajax实现数据无刷新分页功能,有需要的朋友可参考一下。

简单的mysql数据表结构,代码如下:

  1. CREATE TABLE messages 
  2. msg_id INT PRIMARY KEY AUTO_INCREMENT, 
  3. message VARCHAR(150) 
  4. ); 

JavaScript代码,这里是ajax前段利用jquery来处理,代码如下:

  1. <script type="text/javascript" src="http://ajax.googleapis.com/ 
  2. ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
  3. <script type="text/javascript"
  4. $(document).ready(function() 
  5. function loading_show() 
  6. $('#loading').html("<img src='images/loading.gif'/>").fadeIn('fast'); 
  7. function loading_hide() 
  8. $('#loading').fadeOut(); 
  9. function loadData(page) 
  10. loading_show();  
  11. $.ajax 
  12. ({ 
  13. type: "POST"
  14. url: "load_data.php"
  15. data: "page="+page, 
  16. success: function(msg) 
  17. $("#container").ajaxComplete(function(event, request, settings) 
  18. loading_hide(); 
  19. $("#container").html(msg); 
  20. }); 
  21. }); 
  22. loadData(1); // For first time page load default results 
  23. $('#container .pagination li.active').live('click',function(){ 
  24. var page = $(this).attr('p'); 
  25. loadData(page); 
  26. });  
  27. }); 
  28. </script> 

load_data.php,这里是获取由ajax发送的数据然后经过php查询mysql返回信息,代码如下:

  1. <?php 
  2. if($_POST['page']) 
  3. $page = $_POST['page']; 
  4. $cur_page = $page
  5. $page -= 1; 
  6. $per_page = 15; // Per page records 
  7. $previous_btn = true; 
  8. $next_btn = true; 
  9. $first_btn = true; 
  10. $last_btn = true; 
  11. $start = $page * $per_page
  12. include"db.php"
  13. $query_pag_data = "SELECT msg_id,message from messages LIMIT $start, $per_page"
  14. $result_pag_data = mysql_query($query_pag_dataor die('MySql Error' . mysql_error()); 
  15. $msg = ""
  16. while ($row = mysql_fetch_array($result_pag_data))  
  17. $htmlmsg=htmlentities($row['message']); //HTML entries filter 
  18. $msg .= "<li><b>" . $row['msg_id'] . "</b> " . $htmlmsg . "</li>"
  19. $msg = "<div class='data'><ul>" . $msg . "</ul></div>"// Content for Data 
  20. /* -----Total count--- */ 
  21. $query_pag_num = "SELECT COUNT(*) AS count FROM messages"// Total records 
  22. $result_pag_num = mysql_query($query_pag_num); 
  23. $row = mysql_fetch_array($result_pag_num); 
  24. $count = $row['count']; 
  25. $no_of_paginations = ceil($count / $per_page); 
  26. /* -----Calculating the starting and endign values for the loop----- */ 
  27. //Some Code. Available in download script 
  28. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表