2010-04-01 2 views
0

J'essaie toujours de charger correctement mes liens de pagination. Mais je n'arrive pas à trouver une solution à ce problème. Le problème que j'ai est que lorsque je clique sur l'un des liens de numéros de pagination pour passer à la page suivante, le nouveau contenu ne se charge pas. littéralement rien ne se passe et quand on regarde la console dans Firebug, rien n'est envoyé ou chargé.Les liens de pagination ne fonctionnent pas correctement

J'ai sur la page principale 3 liens pour filtrer le contenu et l'afficher. Lorsque l'un de ces liens est cliqué, les résultats sont chargés et affichés avec les numéros de pagination associés pour ce contenu spécifique.

Je crois que le problème vient de la requête SQL dans generate_pagination.php (voir ci-dessous). Quand je code dur la partie de la catégorie sql cela fonctionne, mais ce n'est pas dynamique du tout. C'est pourquoi j'appelle $ids=$_GET['ids']; et j'essaie de mettre cela dans la section catégorie, mais les numéros ne s'affichent pas du tout. Si je répercute la variable $ ids et que je clique sur un filtre, il affiche le nom/identifiant correct, donc je ne sais pas pourquoi cela ne fonctionne pas.

Voici la page principale, et si vous regardez dans la partie de requête sql, vous pouvez voir ce que je veux dire. Si je mets par exemple, «marketing» dans le category= pour la requête, cela fonctionne. Mais quand je le fais dynamiquement, il affiche juste le nombre correct de pages, mais je ne peux pas les cliquer pour aller à une autre page:

Toute aide sur ce serait incroyable, merci.

<?php 
    $ids=$_GET['id']; 

    include_once('config.php'); 
    $per_page = 3; 

    //Calculating no of pages 
    $sql = "SELECT COUNT(*) FROM explore WHERE category='$ids' "; 
    $result = mysql_query($sql); 
    $count = mysql_fetch_row($result); 
    $pages = ceil($count[0]/$per_page); 

?> 

<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 

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

?> 

</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> 

Je pensais que je pourrais aussi bien poster le script jquery si quelqu'un veut voir:

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


// 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()); 
     }); 
    }); 

//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).attr("id").replace("page",""); 

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

}); 

}); 
+0

Dans votre explication vous avez dit '$ ids = $ _ GET ['ids'];' mais dans votre code vous avez '$ ids = $ _ GET ['id'];' - lequel est-ce? – Abs

+0

Dupe? http://stackoverflow.com/questions/2467174/pagination-links-broken-php-jquery –

+0

Sry à propos de ça, c'est $ ids = $ _ GET ['id']; – ClarkSKent

Répondre

0

est-ce pas

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

analyse syntaxique

$_GET['category'] 

au lieu de

$_GET['id'] 

?