将jquery添加到基于php mysql的分页

将jquery添加到基于php mysql的分页,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我正在一个基于PHP Mysql的网站上工作,该网站有一些大的列表要显示(例如产品列表)。现在为了方便用户,我不得不将其分解为多个页面。因此,我使用PHP添加了分页。现在,我每次单击页码时都会进行页面刷新。因此,我使用PHP/MySQL建立了一个基础,并希望向其添加Ajax/jquery,以避免不必要的页面刷新。如何向页面添加分页我拥有的现有代码?? 下面是供参考的php代码 <div class="flt width710"> <div

我正在一个基于PHP Mysql的网站上工作,该网站有一些大的列表要显示(例如产品列表)。现在为了方便用户,我不得不将其分解为多个页面。因此,我使用PHP添加了分页。现在,我每次单击页码时都会进行页面刷新。因此,我使用PHP/MySQL建立了一个基础,并希望向其添加Ajax/jquery,以避免不必要的页面刷新。如何向页面添加分页我拥有的现有代码?? 下面是供参考的php代码

        <div class="flt width710">
            <div style="margin-top:10px;" class="flt mapnewalert"> <?php //echo ucfirst($_SESSION['$city']) ?></div>
            <div style="float:right" id="toppagesel">
            <?php 
                    echo $pages->display_pages();
                    echo $pages->display_items_per_page();
                    //echo "<span class=\"\">".$pages->display_jump_menu()."</span>";
                    $query = "SELECT * from properties,locality,cities where properties.city_id='".$_SESSION['$cityId']."' and properties.locality_id=locality.locality_id and properties.city_id=cities.city_id $pages->limit";
                    $result = mysql_query($query) or die(mysql_error());

                    //$getProperty =    $propertyDetails->getPropertyDetailsByCityIdPaginate($_SESSION['$cityId'],$limit);
            ?>
            <?php //echo $pages->display_pages(); ?><?php //echo $pages->display_items_per_page();?>
            </div>
        </div>


有很多JavaScript分页库可以帮助您简化工作

你能试试这个分页库吗

演示:

网站:

}))

这里
$(“.paginate”)
是我的paginator类中
  • 的类。 我得到了答案
    谢谢

    非常感谢您的及时回复,但我想要符合上述代码的东西,否则我将不得不重新审视逻辑。我不能用使用ajax的新div替换div吗??这里也有类似的建议,但我没能让它起作用-
             class Paginator{
    var $items_per_page;
    var $items_total;
    var $current_page;
    var $num_pages;
    var $mid_range;
    var $low;
    var $limit;
    var $return;
    var $default_ipp;
    var $querystring;
    var $ipp_array;
    
              function Paginator()
    {
        $this->current_page = 1;
        $this->mid_range = 2;
        $this->ipp_array = array(2,4,6,8,'All');
        $this->items_per_page = (!empty($_GET['ipp'])) ? $_GET['ipp']:$this->default_ipp;
    }
    
              function paginate()
    {
        if(!isset($this->default_ipp)) $this->default_ipp=2;
        if($_GET['ipp'] == 'All')
        {
            $this->num_pages = 1;
              //    $this->items_per_page = $this->default_ipp;
        }
        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";
    }
    
       }
    
    $(document).ready(function()
    { 
    $('.paginate').live('click', function(e)
    {
        e.preventDefault();
        var btnPage = $(this);
        $.ajax(
        {
            url : btnPage.attr('href'),
            success : function(resp)
            {
                // replace current results with new results.
                $('#project_section').html(resp);
            },
            error : function()
            {
                window.location.href = btnPage.attr('href');
            }
        });
    });