php+ajax分页代码

<html>
<head>
<script language="javascript">
function createXMLHttp(){
    if(window.ActiveXObject){
        return new ActiveXObject("Microsoft.XMLHttp");
    }
    else if(window.XMLHttpRequest){
        return new XMLHttpRequest();
    }
}

function Pager(){
    var that=this;

    this.link=function(url){
        that.xmlHttp = createXMLHttp();
        that.xmlHttp.onreadystatechange = that.receive;
        that.xmlHttp.open("GET", url, true);
        that.xmlHttp.send(null);
    }

    this.receive=function(){
        if((that.xmlHttp.readyState == 4)){
            if(that.xmlHttp.status == 200){
                that.reaction(that.xmlHttp.responseXML);
            }else{
                that.recover();
            }
        }
    }
}
</script>
</head>
<body>
<div id='page_content'></div>
<div id='page_bar'></div>
<script language="javascript">
var a = new Pager();
var pages = 0;

a.recover = function (){
    go = function (u){
        go = function (){
        };
        a.link(u);
    };
};

a.reaction = function (xml){
    document.getElementById('page_content').innerHTML = xml.getElementsByTagName('content')[0].childNodes[0].nodeValue;

    if(xml.getElementsByTagName('count')[0].childNodes[0].nodeValue != pages){
        s = '<table><tr>';
        for(i = 1; i <= xml.getElementsByTagName('count')[0].childNodes[0].nodeValue; i++)
        {
            if(i == xml.getElementsByTagName('current')[0].childNodes[0].nodeValue)
                s += '<td><b>' + i + '</b></td>';
            else
                s += '<td><a href="javascript:go(\'page.php?page=' + i + '\')">' + i + '</a></td>';
        }
        s += '</tr></table>';
   
        document.getElementById('page_bar').innerHTML = s;
    }

    a.recover();
}

a.link('page.php');
</script>
</body>
</html>

 page.php代码.

<?php
class class_page
{
    private $record_count, $perpage;
    private $page_count, $page_current;
   
    function __construct($perpage, $record_count, $page_current)
    {
        $this->perpage = $perpage;
        $this->record_count = $record_count;
        $this->page_count = ($record_count == 0) ? 1 : ceil($record_count / $perpage);
        $this->page_current = ($page_current > $this->page_count) ? 1 : $page_current;
    }

    function __get($name)
    {
        switch($name)
        {
        case 'page_count':
            return $this->page_count;
        case 'page_current':
            return $this->page_current;
        case 'record_start':
            return ($this->page_current - 1) * $this->perpage;
        }
    }
}

header('Content-Type: text/xml; charset=gbk');
$page = new class_page(20, 150, is_numeric($_GET['page']) ? $_GET['page'] : 1);
echo '<?xml version="1.0"?>';
echo '<page>';
echo '<count>' . $page->page_count . '</count>';
echo '<current>' . $page->page_current . '</current>';
echo '<content>' . pow($page->page_current, 2) . '</content>';
echo '</page>';
?>

时间: 2024-11-10 13:39:01

php+ajax分页代码的相关文章

ajax分页代码

<?php header("Content-type: text/html;charset=GBK");//输出编码,避免中文乱码 ?> <html> <head> <title>ajax分页演示</title> <script language="javascript" src="ajaxpg.js"></script> </head> <bo

ThinkPHP 整合Bootstrap Ajax分页样式

ThinkPHP Ajax分页代码 publicfunction index() { $where=array(); $name = I('name'); if(!empty($name)){ $where['name']= array('like','%'.(string)$name.'%'); } $Role=M('Role'); $count= $Role->where($where)->count();// 查询满足要求的总记录数 $Page =new \Think\AjaxPage(

网上下载的分页代码中想通过ajax改变其中pageCount的值,求解

问题描述 网上下载的分页代码中想通过ajax改变其中pageCount的值,求解 <script>function ajax_send() { a = $(""#countryValue"").val(); b = $(""#industryValue"").val(); c = $(""#dateValue"").val(); $.ajax({ type:"&qu

CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解_php技巧

CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而"优雅"的工具包,它可以为开发者们建立功能完善的 Web 应用程序.是比较主流的一个PHP框架. 下面给大家介绍CI框架(ajax分页,全选,反选,不选,批量删除)完整代码,具体代码如下所示: //ajax分页+搜索(视图层) function ajax_page(page){ var sou = $('#sou').val(); $.ajax({ type: "POST", dataTyp

PHP ajax 分页类代码_php技巧

<?php //本分页类不处理SQL; //大大的加快了分页功能 //http://blog.csdn.net/fkedwgwy //潇湘博客--潇湘 /** 演示 require_once('../libs/classes/page.class.php'); $page=new page(array('total'=>1000,'perpage'=>20)); echo 'mode:1<br>'.$page->show(); echo '<hr>mode:

利用jQuery中的ajax分页实现代码_jquery

本文实例讲解了用jQuery中的ajax分页相关代码,分享给大家供大家参考,具体内容如下 把分页封装到一个jsp里,那么大家就可以通过include的方式引入分页的页面这里起名为page_ajax.jsp 本人封装后,使用者需要在页面中引入page_ajax.jsp,并且在查询列表的时候,点击按钮,调用自定义的方法,如myFunction(),在这个方法里头,调用自己拓展的jquer方法,$.pageAjax(url,functionName,showDIv);这里的url是你要请求的ajax的

用jQuery中的ajax分页实现代码_jquery

功能简介:主要功能就是分页显示数据了,可在配置文件中配置每页要显示的页码,可以做多条件联合查询,这里只是做一个简单的查询.欢迎拍砖,有问题的还望大虾们斧正哈.看看这个效果图,无刷新的噢!! 具体实现请看源码: 1.aspx页面 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxPage.aspx.cs" Inherits="Measur

Asp.Net系列:两条语句实现Repeater通用的Ajax分页[XCallback vs JQ in Ajax]

这篇文章将通过Repeater的Ajax分页示例,讲解Ajax的另一个框架 XCallback.当然不管你是哪个 Ajax框架的粉丝,这种分页都很实用,你可以使适用与你喜欢的框架, 毕竟大家都喜欢repeater的灵活 快速,但是却没有提供内置分页,现在你只要在页面里添加一条语句就可以实现ajax效果的分页,文章叙 述中还会把XCallback与JQ在Ajax使用上做个比较,如果我说得不好,欢迎JQ的粉丝指正. 大家先看看前 后台页面,以及在线示例,如果觉得的有帮助,那就接着往下看,示例源码什么

解析CI的AJAX分页 另类实现方法

看了一下CI的分页类没有写到关于AJAX的内容,也在论坛上看到其他几位大神写的分页类扩展,感觉其实是没有必要. 在现有的基础上做了一下小小的改动还是能实现的.下面进入正题:CI的原生分页类中有一个参数 $config[anchor_class] 这个参数是用来设置分页链接的样式的,所以我们可以设置成这样:$config[anchor_class] = "class=ajax_fpage";然后在view部分这样采用禁止a便签默认动作的方法来取得AJAX的调取效果.代码如下: 复制代码