jQuery+Ajax+PHP无刷新分页

代码需要在后台运行(包括页面index.html,ajax.php,connect.php,还有数据库food.sql)

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8"/>
    <title>jQuery+Ajax+PHP无刷新分页</title>
    <meta name="keywords" content="ajax分页,ajax无刷新分页" />
    <meta name="description" content="本文使用jQuery+Ajax+PHP+Mysql,通过实例讲解如何实现Ajax无刷新分页效果。" />
    <style type="text/css">
        *{margin:0;padding:0;}
        .container{width: 100%;}
        .title{text-align: center;margin-top: 40px;}
        .lists{width:600px; margin:0px auto; overflow: hidden;}
        #ul_lists{width: 100%;overflow: hidden;}
        #ul_lists li{
            float:left;width:31%;
            height:210px;margin:10px 1%;box-sizing:border-box;border:1px solid #ddd;
            padding:5px;overflow:hidden}
        #ul_lists li img{width:100%;height:130px;margin:0 0 6px;}
        #ul_lists li a{width:100%;height:100%;font-size: 12px;text-decoration: none;overflow: hidden;}
        .page{ margin:12px 0 20px;  text-align:center}
        .page span{margin:5px; font-size:14px}
    </style>
</head>
<body>
    <div class="container">
        <h2 class="title">jQuery+Ajax+PHP无刷新分页</h2>
        <div class="lists"><ul id="ul_lists" class="clearfix"></ul></div>
        <div class="page" id="page"></div>
    </div>
    <script type="text/javascript" src="http://www.sucaihuo.com/Public/js/other/jquery.js"></script>
    <script type="text/javascript">
        var page_cur = 1; //当前页
        var total_num, page_size, page_total_num;//总记录数,每页条数,总页数
        function getData(page) { //获取当前页数据
            $.ajax({
                type: 'GET',
                url: 'ajax.php',
                data: {'page': page - 1},
                dataType: 'json',
                success: function(json) {
                    $("#ul_lists").empty();
                    total_num = json.total_num;//总记录数
                    page_size = json.page_size;//每页数量
                    page_cur = page;//当前页
                    page_total_num = json.page_total_num;//总页数
                    var li = "";
                    var list = json.list;
                    $.each(list, function(index, array) { //遍历返回json
                        li += "<li><a href='#'><img src='" + array['pic'] + "'>" + array['title'] + "</a></li>";
                    });
                    $("#ul_lists").append(li);
                },
                complete: function() {
                    getPageBar();//js生成分页,可用程序代替
                },
                error: function() {
                    alert("数据异常,请检查是否json格式");
                }
            });
        }

        function getPageBar() { //js生成分页
            if (page_cur > page_total_num)
                page_cur = page_total_num;//当前页大于最大页数
            if (page_cur < 1)
                page_cur = 1;//当前页小于1
            page_str = "<span>共" + total_num + "条</span><span>" + page_cur + "/" + page_total_num + "</span>";
            if (page_cur == 1) {//若是第一页
                page_str += "<span>首页</span><span>上一页</span>";
            } else {
                page_str += "<span><a href='javascript:void(0)' data-page='1'>首页</a></span><span><a href='javascript:void(0)' data-page='" + (page_cur - 1) + "'>上一页</a></span>";
            }
            if (page_cur >= page_total_num) {//若是最后页
                page_str += "<span>下一页</span><span>尾页</span>";
            } else {
                page_str += "<span><a href='javascript:void(0)' data-page='" + (parseInt(page_cur) + 1) + "'>下一页</a></span><span><a href='javascript:void(0)' data-page='" + page_total_num + "'>尾页</a></span>";
            }
            $("#page").html(page_str);
        }

        $(function() {
            getData(1);//默认第一页
            $("#page a").live('click', function() { //live 向未来的元素添加事件处理器,不可用bind
                var page = $(this).attr("data-page");//获取当前页
                getData(page)
            });
        });
    </script>
</body>
</html>


ajax.php

<?php
include_once('connect.php');

$page = intval($_GET['page']); //当前页
$total_num = mysql_num_rows(mysql_query("select id from food")); //总记录数
$page_size = 6; //每页数量
$page_total = ceil($total_num / $page_size); //总页数
$page_start = $page * $page_size;
$arr = array(
    "total_num" => $total_num,
    "page_size" => $page_size,
    "page_total_num" => $page_total,
);
$query = mysql_query("SELECT id,title,pic FROM food ORDER BY ID ASC LIMIT $page_start,$page_size");
while ($row = mysql_fetch_array($query)) {
    $arr['list'][] = array(
        'id' => $row['id'],
        'title' => $row['title'],
        'pic' => $row['pic'],
    );
}
echo json_encode($arr);
?>

connect.php

<?php
$host="localhost";
$db_user="root";//使用本地的数据库用户名
$db_pass="4QLpRyaYxKkrkMEP";//使用本地的数据库密码
$db_name="demo";
$timezone="Asia/Shanghai";
$link=mysql_connect($host,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8");

header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set($timezone); //北京时间
?>

food.sql

-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2012 年 11 月 05 日 20:50
-- 服务器版本: 5.1.63
-- PHP 版本: 5.2.17

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- 数据库: `lrfbeyond_demo`
--

-- --------------------------------------------------------

--
-- 表的结构 `food`
--
CREATE TABLE IF NOT EXISTS `food` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `pic` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=31 ;

--
-- 转存表中的数据 `food`
--

INSERT INTO `food` (`id`, `title`, `pic`) VALUES
(1, '新货 核桃 新疆大核桃 阿克苏薄皮核桃 仁很饱满【巴扎20度C】', 'http://img02.taobaocdn.com/bao/uploaded/i2/T1UQTWXjlhXXa0TSA._083409.jpg_b.jpg'),
(2, '100%正宗 新疆库尔勒香梨 95元/箱15斤毛重 江浙沪包邮 新鲜 水果', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1XLbSXkFfXXaWt5AT_011948.jpg_b.jpg'),
(3, '新疆特产特级大个开心果250克 自然开口颗粒饱满 满2斤包邮', 'http://img04.taobaocdn.com/bao/uploaded/i4/T1BvJPXX4yXXad.nIW_024727.jpg_b.jpg'),
(4, '店庆一袋包邮晋谷香新疆和田壶瓶枣一级玉枣红枣批发山西大枣500g', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1FUViXldEXXcf9moW_024549.jpg_b.jpg'),
(5, '新疆野生肉苁蓉 大芸250克 沙漠人参', 'http://img03.taobaocdn.com/bao/uploaded/i3/T15hYMXmtXXXcklKTb_123629.jpg_b.jpg'),
(6, '新疆特产 特级开口小银杏仁500g 杏核 野生饱满坚果干果 2斤包邮', 'http://img03.taobaocdn.com/bao/uploaded/i7/T1xoqfXaJsXXcUtHja_120240.jpg_b.jpg'),
(7, '美国大杏核 纸皮 香脆可口 粒粒饱满 休闲零食首选', 'http://img01.taobaocdn.com/bao/uploaded/i1/T17x_ZXjFlXXaau978_071645.jpg_b.jpg'),
(8, '湖南特产湘莲子\\12年寸三莲2件包邮\\农家自种纯天然\\特级白莲450g ', 'http://img01.taobaocdn.com/bao/uploaded/i1/T1.gT2XjFhXXcJGKE._111803.jpg_b.jpg'),
(9, '新疆风特产小吃特级果干冰梅冰凉梅子休闲食品孕妇零食满200包邮 ', 'http://img01.taobaocdn.com/bao/uploaded/i1/T1B0CzXllkXXa_ca7T_010708.jpg_b.jpg'),
(10, '湖南特产白鹤铁板鸡蛋煎饼早餐饼 500g称重 比Tipo面包干好吃N倍 ', 'http://img01.taobaocdn.com/bao/uploaded/i1/T12dzXXbVcXXbjanLb_095349.jpg_b.jpg'),
(11, '湖南常德特产 原价35现价32元两只免邮 散装泰味酱板鸭 刚出炉的 ', 'http://img02.taobaocdn.com/bao/uploaded/i2/T1k1OWXdhdXXcbY.cU_015918.jpg_b.jpg'),
(12, '湖南特产 盐津铺子 香酥牛肉味兰花豆 蚕豆500克 4斤包邮 ', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1RO91XkhaXXch7OE6_062222.jpg_b.jpg'),
(13, '椒丝牛肉(四川特产自贡麻辣兔头/兔腿;缠丝兔;冷吃兔冷吃牛肉) ', 'http://img02.taobaocdn.com/bao/uploaded/i2/T1..5GXoxxXXalsP.1_041722.jpg_b.jpg'),
(14, '四川私房菜,特产小吃。味味妈妈秘制香辣牛蹄筋,透亮Q滑 ', 'http://img01.taobaocdn.com/bao/uploaded/i1/T1tx5EXlRnXXXlgy.6_062259.jpg_b.jpg'),
(15, '沈师傅鸡蛋干100g营养美味 四川特产 沈师傅鸡蛋干100克 ', 'http://img04.taobaocdn.com/bao/uploaded/i4/T1KX6tXnJsXXcQC8k._112940.jpg_b.jpg'),
(16, '川香居 糖醋排骨 掌柜推荐 四川特产小吃零食 120g 满50包邮 ', 'http://img04.taobaocdn.com/bao/uploaded/i4/T16hPbXgJlXXbAIj.__080146.jpg_b.jpg'),
(17, '黄金香原味迷你猪肉脯56g 厦门特产 蜜汁猪肉干 中华老字号 零食 ', 'http://img04.taobaocdn.com/bao/uploaded/i4/T1N19zXnxWXXXHy7g9_104229.jpg_b.jpg'),
(18, '淘金币 秒杀福建特产卤味风味小吃鸡爪洪濑红毛凤爪零食小吃团购 ', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1yKYTXdtoXXaCzp3._111208.jpg_b.jpg'),
(19, '厦门特产 香贡贡糖果牛味肉丁 XO牛味肉粒4份包邮 舌尖上的中国 ', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1cx23XetaXXauXCg8_071539.jpg_b.jpg'),
(20, '买就送茶叶品尝包 八克装 福建1725安溪铁观音清香型 乌龙茶 特级', 'http://img01.taobaocdn.com/bao/uploaded/i1/T1__L0XndiXXaeglI._113301.jpg_b.jpg'),
(21, '包邮 云南特产鲜花饼 玫瑰花饼 现烤 礼盒 500克10个装 花味源 ', 'http://img01.taobaocdn.com/bao/uploaded/i1/T1a3TDXdprXXbz9bZ._111445.jpg_b.jpg'),
(22, '云南特产 滇味堂白酥皮云腿月饼50克 火腿月饼 ', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1.5rBXmpdXXaO_HYc_125908.jpg_b.jpg'),
(23, '【良品铺子】牛肝菌烧烤味即食 云南特产野生食用菌 休闲干货零食 ', 'http://img04.taobaocdn.com/bao/uploaded/i4/T1Qn12Xa0qXXXMZ1I._112111.jpg_b.jpg'),
(24, '正宗 一手店 熟食 猪蹄 猪手 猪爪 猪脚 东北特产黑龙江美食小吃 ', 'http://img04.taobaocdn.com/bao/uploaded/i4/T1Gm14XblaXXbp4MTX_115322.jpg_b.jpg'),
(25, '哈尔滨红肠正宗秋林里道斯红肠500克真空包装东北特产小吃不限重 ', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1ZTVvXjddXXcunnU7_065822.jpg_b.jpg'),
(26, '琦丽山珍 干果新货 奶油味夏威夷果 澳洲坚果 零食特产 特价促销 ', 'http://img02.taobaocdn.com/bao/uploaded/i2/T1kdzpXolvXXbjUT7U_015907.jpg_b.jpg'),
(27, '【山尖百合】贵州传统小吃波波糖 原生态养颜食材 无蔗糖添加剂', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1Bz1cXdldXXbtTV.2_043100.jpg_b.jpg'),
(28, '特价抢购中【飘零大叔】杂志推荐-蜜汁猪肉脯- 靖江特产 零食 250', 'http://img01.taobaocdn.com/bao/uploaded/i1/T1v4urXfJvXXaGmNcU_015023.jpg_b.jpg'),
(29, '杭梦 特价坚果新疆巴旦木 纸皮巴旦木龙果 薄壳大杏仁 4件包邮', 'http://img03.taobaocdn.com/bao/uploaded/i3/T1.gm3XcXkXXbzFJAU_014249.jpg_b.jpg'),
(30, '包邮1000克(500克*2袋) 新疆天生无壳 生南瓜子仁', 'http://img03.taobaocdn.com/bao/uploaded/i3/T19iYSXa0gXXbATxfa_121311.jpg_b.jpg');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值