分页链接无法正常工作 - PHP函数不正确?

时间:2010-03-11 02:27:25

标签: php jquery mysql pagination

我仍然在试图弄清楚如何修复我的分页脚本才能正常工作。

我遇到的问题是,当我点击任何分页编号链接转到下一页时,新内容无法加载。没有任何反应,当在Firebug中查看控制台时,没有任何内容被发送或加载。

我在主页3上有链接来过滤内容并显示它。单击任何这些链接时,将加载并显示结果以及该特定内容的相关分页编号。

我认为问题来自于函数(generate_pagination.php(见下文))。

这是主页面,以便您可以包含和启动该功能(我是php的新手):

<?php
include_once('generate_pagination.php');
?>
<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($sql) ?>
</ul>

<br />
<br />

<a href="#" class="category" id="marketing">Marketing</a>
<a href="#" class="category" id="automotive">Automotive</a>
<a href="#" class="category" id="sports">Sports</a>

如上所述,我认为问题仍然存在,因为我对函数格式一无所知以及如何正确合并它们:

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

  //Calculating no of pages
    $result = mysql_query($sql);
    $count = mysql_fetch_row($result);
    $pages = ceil($count[0]/$per_page);

  //Pagination Numbers
  for($i=1; $i<=$pages; $i++)
  {
    echo '<li class="page_numbers" id="'.$i.'">'.$i.'</li>';
  }
}

$ids=$_GET['ids'];
generate_pagination("SELECT COUNT(*) FROM explore WHERE category='$ids'");

?>

如果有人想看,我认为我可以通过jquery:

$(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(){

          $(this).attr('data-page', pageNum);

           Hide_Load();
        });
});

// Editing below.        
// Sort content Marketing    
    $("a.category").click(function() {
        Display_Load();

        var this_id = $(this).attr('id');

      $.get("pagination.php", { category: this.id },
        function(data){

            //Load your results into the page  
            var pageNum = $('#content').attr('data-page');

            $("#pagination").load('generate_pagination.php?category=' + pageNum +'&ids='+ this_id );
            $("#content").load("filter_marketing.php?page=" + pageNum +'&id='+ this_id, Hide_Load());
        });  
    });


});

在使功能正常工作时,我们将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

ID无法以数字开头,为您的ID提供另一个起始字符串,如page,如下所示:

在php中:

for($i=1; $i<=$pages; $i++)
{
  echo '<li class="page_numbers" id="page'.$i.'">'.$i.'</li>';
}

在jQuery中:

var pageNum = $(this).attr("id").replace("page","");

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

至少应该开始回帖,如果没有,请发表评论。