Ajax分页,php返回整个页面,而不是分页的div

Ajax分页,php返回整个页面,而不是分页的div,php,javascript,jquery,mysql,ajax,Php,Javascript,Jquery,Mysql,Ajax,我有一个php网站,它必须以分页格式显示页面上的项目列表。我使用php实现了这一点,但现在我想向其添加ajax功能。因此,我添加了此功能,以便在分页部分单击页码时调用。 Ajax/Jquery函数:(.paginate是页面链接的类) 我的分页函数有点像这样: function paginate() { if(!isset($this->default_ipp)) $this->default_ipp='2'; if($_GET['ipp'] == 'All')

我有一个php网站,它必须以分页格式显示页面上的项目列表。我使用php实现了这一点,但现在我想向其添加ajax功能。因此,我添加了此功能,以便在分页部分单击页码时调用。 Ajax/Jquery函数:(.paginate是页面链接的类)

我的分页函数有点像这样:

function paginate()
{
    if(!isset($this->default_ipp)) $this->default_ipp='2';
    if($_GET['ipp'] == 'All')
    {
        $this->num_pages = 1;

    }
    else
    {
        if(!is_numeric($this->items_per_page) OR $this->items_per_page <= 0) $this->items_per_page = $this->default_ipp;
        $this->num_pages = ceil($this->items_total/$this->items_per_page);
    }
    $this->current_page = (isset($_GET['page'])) ? (int) $_GET['page'] : 1 ; // must be numeric > 0
    $prev_page = $this->current_page-1;
    $next_page = $this->current_page+1;
    if($_GET)
    {
        $args = explode("&",$_SERVER['QUERY_STRING']);
        foreach($args as $arg)
        {
            $keyval = explode("=",$arg);
            if($keyval[0] != "page" And $keyval[0] != "ipp") $this->querystring .= "&" . $arg;
        }
    }

    if($_POST)
    {
        foreach($_POST as $key=>$val)
        {
            if($key != "page" And $key != "ipp") $this->querystring .= "&$key=$val";
        }
    }
    if($this->num_pages > 4)
    {
        $this->return = ($this->current_page > 1 And $this->items_total >= 10) ? "<a class=\"paginate\" href=\"$_SERVER[PHP_SELF]?page=$prev_page&ipp=$this->items_per_page$this->querystring\">&laquo; Previous</a> ":"<span class=\"inactive\" href=\"#\">&laquo; Previous</span> ";

        $this->start_range = $this->current_page - floor($this->mid_range/2);
        $this->end_range = $this->current_page + floor($this->mid_range/2);

        if($this->start_range <= 0)
        {
            $this->end_range += abs($this->start_range)+1;
            $this->start_range = 1;
        }
        if($this->end_range > $this->num_pages)
        {
            $this->start_range -= $this->end_range-$this->num_pages;
            $this->end_range = $this->num_pages;
        }
        $this->range = range($this->start_range,$this->end_range);

        for($i=1;$i<=$this->num_pages;$i++)
        {
            if($this->range[0] > 2 And $i == $this->range[0]) $this->return .= " ... ";
            // loop through all pages. if first, last, or in range, display
            if($i==1 Or $i==$this->num_pages Or in_array($i,$this->range))
            {
                $this->return .= ($i == $this->current_page And $_GET['page'] != 'All') ? "<a title=\"Go to page $i of $this->num_pages\" class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" title=\"Go to page $i of $this->num_pages\" href=\"$_SERVER[PHP_SELF]?page=$i&ipp=$this->items_per_page$this->querystring\">$i</a> ";
            }
            if($this->range[$this->mid_range-1] < $this->num_pages-1 And $i == $this->range[$this->mid_range-1]) $this->return .= " ... ";
        }
        $this->return .= (($this->current_page < $this->num_pages And $this->items_total >= 10) And ($_GET['page'] != 'All') And $this->current_page > 0) ? "<a class=\"paginate\" href=\"$_SERVER[PHP_SELF]?page=$next_page&ipp=$this->items_per_page$this->querystring\">Next &raquo;</a>\n":"<span class=\"inactive\" href=\"#\">&raquo; Next</span>\n";
        $this->return .= ($_GET['page'] == 'All') ? "<a class=\"current\" style=\"margin-left:10px\" href=\"#\">All</a> \n":"<a class=\"paginate\" style=\"margin-left:10px\" href=\"$_SERVER[PHP_SELF]?page=1&ipp=All$this->querystring\">All</a> \n";
    }
    else
    {
        for($i=1;$i<=$this->num_pages;$i++)
        {
            $this->return .= ($i == $this->current_page) ? "<a class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" href=\"$_SERVER[PHP_SELF]?page=$i&ipp=$this->items_per_page$this->querystring\">$i</a> ";
        }
        $this->return .= "<a class=\"paginate\" href=\"$_SERVER[PHP_SELF]?page=1&ipp=All$this->querystring\">All</a> \n";
    }
    $this->low = ($this->current_page <= 0) ? 0:($this->current_page-1) * $this->items_per_page;
    if($this->current_page <= 0) $this->items_per_page = 0;
    $this->limit = ($_GET['ipp'] == 'All') ? "":" LIMIT $this->low,$this->items_per_page";
}
函数paginate()
{
如果(!isset($this->default_ipp))$this->default_ipp='2';
如果($_GET['ipp']=='All')
{
$this->num_pages=1;
}
其他的
{
如果(!是数值($this->items\u per\u page)或$this->items\u per\u page items\u per\u page=$this->default\u ipp;
$this->num\u pages=ceil($this->items\u total/$this->items\u per\u page);
}
$this->current_page=(isset($_GET['page'])?(int)$_GET['page']:1;//必须是数值>0
$prev_page=$this->current_page-1;
$next_page=$this->current_page+1;
如果($\u GET)
{
$args=explode(&,$_服务器['QUERY_STRING']);
foreach($args作为$arg)
{
$keyval=explode(“=”,$arg);
如果($keyval[0]!=“page”和$keyval[0]!=“ipp”)$this->querystring.=“&”。$arg;
}
}
如果(美元邮政)
{
foreach($\发布为$key=>$val)
{
如果($key!=“page”和$key!=“ipp”)$this->querystring.=“&$key=$val”;
}
}
如果($this->num_pages>4)
{
$this->return=($this->current\u page>1和$this->items\u total>=10)?“”:“«;Previous”;
$this->start\u range=$this->current\u page-floor($this->mid\u range/2);
$this->end\u range=$this->current\u page+floor($this->mid\u range/2);
如果($this->start\u range end\u range+=abs($this->start\u range)+1;
$this->start_range=1;
}
如果($this->end\u range>$this->num\u pages)
{
$this->start\u range-=$this->end\u range-$this->num\u页面;
$this->end\u range=$this->num\u页面;
}
$this->range=range($this->start\u range,$this->end\u range);
对于($i=1;$inum_页面;$i++)
{
如果($this->range[0]>2和$i==$this->range[0])$this->return.=“…”;
//循环浏览所有页面。如果是第一页、最后一页或在范围内,则显示
如果($i==1或$i==$this->num\u页面或数组中($i,$this->range))
{
$this->return.=($i==$this->current_page和$_GET['page']!='All')?:“”;
}
如果($this->range[$this->mid_range-1]<$this->num_pages-1和$i==$this->range[$this->mid_range-1])$this->return.=“…”;
}
$this->return.=($this->current\u page<$this->num\u pages And$this->items\u total>=10)和($this->current\u page>0)和$this->current\u page>0)?“\n”:“»;Next\n”;
$this->return.=($\u GET['page']=='All')?“\n”:“\n”;
}
其他的
{
对于($i=1;$inum_页面;$i++)
{
$this->return.=($i==$this->current_页面)?“”:“”;
}
$this->return.=“\n”;
}
$this->low=($this->current\u page current\u page-1)*$this->items\u per\u page;
如果($this->current\u page items\u per\u page=0;
$this->limit=($\u GET['ipp']='All')?“”:“limit$this->low$this->items\u每页”;
}
在我想要显示分页的div的页面上,我得到的是整个页面的作为响应,而不是分页的div。我已经将分页的div分离到一个单独的页面,并将其包括在显示页面上(下面添加的代码),但不起作用

<div id="project_section">
    <?php include_once("cityPropertySearchResults.php");?>        
</div>

有人能给它照点光吗?
更新: 我发现了类似的东西

这适用于链接,但现在,所有的js文件都在一次又一次地以递归方式加载


感谢您的时间。

在第一页加载后,首先将限制开始值指定为0,将限制开始值增加为每页的限制,并通过ajax传递该值,然后在查询中使用该限制开始值(例如,从tbl limit 0,10;中选择*)

在第一页加载后,首先将限制起始值指定为0,将限制起始值增加为每页的限制,并通过ajax传递该值,然后在查询中使用该限制起始值(例如,从tbl limit 0,10;中选择*)

你能在查询中尝试使用limitstart吗。@muthu我没有找到你!!这里的问题不是查询。我正在获取所有记录,但当我单击分页链接时,它会返回整个页面,而不是页面的一部分。使用绑定而不是live,这可能会对你有所帮助。很抱歉误解,这很好,实际上无法添加ev任何事情都太长了,每个人都想不出来。我会尝试一下。你能在查询中使用limitstart吗。@muthu我没有理解你!!这里的问题不是查询。我正在获取所有记录,但当我单击分页链接时,它会返回整个页面,而不是页面的一部分。使用绑定而不是live它可能会对你有帮助。很抱歉误会。这很好,实际上无法添加所有内容,因为这对每个人来说都太长了。我会尝试一下。我找到了!!一个稍微不同的问题,但答案适用于我的问题。但是现在所有的js文件都加载到每个页面上,没有点击,这会影响性能!!我可以对t说几句吗他的??感谢到现在为止的帮助!我找到了!!一个稍微不同的问题,但答案适用于我的问题。但是现在所有的js文件都加载到了每个页面上,没有点击,这会影响性能!!我可以对此发表你的意见吗?感谢到现在为止的帮助!
<div id="project_section">
    <?php include_once("cityPropertySearchResults.php");?>        
</div>