Php 使脚本更加动态

Php 使脚本更加动态,php,jquery,pagination,Php,Jquery,Pagination,我正试图使我的分页脚本更具动态性,我需要一些帮助来计算页码部分 我下面有一个脚本,它使用php计算页面数,但是我想添加其他按钮,当单击这些按钮时,将过滤和排序数据,这意味着需要再次计算页码 我的脚本不允许这种情况发生,因此我想知道是否有一种比现在更有效/更动态的方法来计算分页编号 这是主页(pagination.php) 下面是JS脚本(jquery.pagination.JS) $(文档).ready(函数(){ //显示加载图像 功能显示_加载() { $(“#加载”).fade

我正试图使我的分页脚本更具动态性,我需要一些帮助来计算页码部分

我下面有一个脚本,它使用php计算页面数,但是我想添加其他按钮,当单击这些按钮时,将过滤和排序数据,这意味着需要再次计算页码

我的脚本不允许这种情况发生,因此我想知道是否有一种比现在更有效/更动态的方法来计算分页编号

这是主页(pagination.php)




下面是JS脚本(jquery.pagination.JS)

$(文档).ready(函数(){
//显示加载图像
功能显示_加载()
{
$(“#加载”).fadeIn(900,0);
$(“#加载”).html(“”);
}
//隐藏加载图像
函数Hide_Load()
{
$(“#加载”).fadeOut('slow');
};
//默认起始页结果
$(“#分页li:first”).css({'color':'#FF0084'}).css({'border':'none'});
显示加载();
$(“#content”).load(“pagination_data.php?page=1”,Hide_load());
//分页点击
$(“#分页li”)。单击(函数(){
显示加载();
//CSS样式
$(“#分页li”)
.css({'border':'solid#dddddd 1px'})
.css({'color':'#0063DC'});
$(本)
.css({'color':'#FF0084'})
.css({'border':'none'});
//加载数据
var pageNum=this.id;
$(“#content”).load(“pagination_data.php?page=“+pageNum,function()){
隐藏加载();
$(this.attr('data-page',pageNum));
});
});
});
我试图将脚本的计算部分放在“pagination_data.php”文件中,因此当我单击按钮或链接转到该页面时,它将生成所有内容,但它不起作用


因此,任何关于找出一个好方法的帮助都将是巨大的。谢谢。

您的页面生成代码很好,需要更改的是它使用的固定查询。我建议将分页代码更改为采用
$sql
参数的函数,以便您可以传入由任何筛选器调整的正确查询:

function generate_pagination($sql) {
  include_once('config.php');
  $per_page = 3;

  //Calculating no of pages
  $result = mysql_query($sql);
  $count = mysql_num_rows($result);
  $pages = ceil($count/$per_page)

  //Pagination Numbers
  for($i=1; $i<=$pages; $i++)
  {
    echo '<li class="page_numbers" id="'.$i.'">'.$i.'</li>';
  }
}
函数生成分页($sql){
包括_once('config.php');
每页$3;
//计算页数
$result=mysql\u查询($sql);
$count=mysql\u num\u行($result);
$pages=ceil($count/$每页)
//页码
对于($i=1;$i)
$(document).ready(function(){

    //Display Loading Image
    function Display_Load()
    {
        $("#loading").fadeIn(900,0);
        $("#loading").html("<img src='bigLoader.gif' />");
    }

    //Hide Loading Image
    function Hide_Load()
    {
        $("#loading").fadeOut('slow');
    };

    //Default Starting Page Results
    $("#pagination li:first").css({'color' : '#FF0084'}).css({'border' : 'none'});

    Display_Load();

    $("#content").load("pagination_data.php?page=1", Hide_Load());

    //Pagination Click
    $("#pagination li").click(function(){
        Display_Load();

        //CSS Styles
        $("#pagination li")
            .css({'border' : 'solid #dddddd 1px'})
            .css({'color' : '#0063DC'});

        $(this)
            .css({'color' : '#FF0084'})
            .css({'border' : 'none'});

        //Loading Data
        var pageNum = this.id;

        $("#content").load("pagination_data.php?page=" + pageNum, function(){
            Hide_Load();
            $(this).attr('data-page', pageNum);
        });
    });
});
function generate_pagination($sql) {
  include_once('config.php');
  $per_page = 3;

  //Calculating no of pages
  $result = mysql_query($sql);
  $count = mysql_num_rows($result);
  $pages = ceil($count/$per_page)

  //Pagination Numbers
  for($i=1; $i<=$pages; $i++)
  {
    echo '<li class="page_numbers" id="'.$i.'">'.$i.'</li>';
  }
}
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1``   /jquery.min.js"></script>
<script type="text/javascript" src="jquery_pagination.js"></script>

<div id="loading" ></div>
<div id="content" data-page="1"></div>
<ul id="pagination">
<?php generate_pagination('SELECT * FROM explore'); ?>
</ul>
<br />
<br />
<?php generate_pagination('SELECT * FROM explore WHERE key="value"'); ?>