J'essaie toujours de comprendre comment réparer mon script de pagination pour fonctionner correctement. 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 - fonction PHP incorrecte?
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 fonction (generate_pagination.php (voir ci-dessous)).
Voici la page principale afin que vous puissiez comment je suis, avec et à partir de la fonction (je suis nouveau à 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>
C'est tel que mentionné ci-dessus, où je pense que le problème persiste depuis Je ne sais rien des formats de fonction et comment les incorporer correctement:
<?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'");
?>
Je pensais que je pourrais aussi bien par la 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());
//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());
});
});
});
Toute aide serait appréciée pour le bon fonctionnement de la fonction. Merci
Les résultats s'affichent et j'ai 4 résultats en cliquant sur le filtre marketing qui crée 2 pages [1] & [2], mais en cliquant sur les liens de pagination ne fait rien. La première page est affichée lorsque, par exemple, le marketing est cliqué, mais quand je clique sur le lien de la page [2], il n'affiche pas cette page, il reste juste sur la première page. – ClarkSKent
@ClarkSKent - Est-ce après mes changements suggérés? Dans votre question, vous utilisez un numéro d'identification, puis essayez d'exécuter javascript dessus ... cette propriété ne fonctionnera pas avec les ID numériques ... c'est ce que ma réponse est de changer. –
non, j'obtiens le même résultat en utilisant les deux méthodes. – ClarkSKent