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