PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : jQuery Ajax Pagination


Gast
2010-01-31, 17:51:36
Hallo,

Ich habe vor Inhalte nachzuladen ohne die gesamte Anzahl der Daten aus der Datenbank holen zu müssen um eine bessere Performance zu haben, d.h ich will einfach das man auf den Button der z.bsp "Mehr Items" heißt drückt und die Daten per ajax nachgeladen werden, ich habe folgenden Code, der auch (fast) funktioniert :


<?php if($secondPage === true) {?>
<?php $page = (isset($_GET['page']) ? $_GET['page'] : 1);?>
<div class="moreItems"><a href="?page=<?php echo htmlspecialchars($page+1)?>">Mehr Items</a></div>
<script>
i = 1;
$(".moreItems").click(function(){
i++;
$.ajax({
type: "GET",
url: "/index.php?section=data&ajax=1",
data: "page="+i,
success: function(data){
if (data != '') {
$('.wrap').append(data);
}
}
});
});

</script>
<?php } ?>


Wenn javascript deaktiviert ist, wird die Seite nicht nachgeladen sondern beim Klick auf den Link kommt man einfach zur zweiten Seite.
Wenn jetzt Javascript aktiviert ist, wird der neue Inhalt in den Container mit nachgeladen, nur weiß ich jetz nicht wie ich den Button ausblenden kann, sobald es keine weitere Seiten mehr gibt, damit nicht viel mehr Requests an den Server gesendet werden als eigentlich nötig, außerdem kommen natürlich auch unschöne PHP Fehlermeldungden, wenn weiter versucht wird Daten aus der Datenbank zu holen wo keine mehr sind.

$secondPage == true heißt, es gibt eine weitere Seite, bezogen auf die auf der man sich gerade befindet, nur das Problem ist das sich bei dem Ajax request die Seite auf der man sich in diesem Moment befindet ja nicht ändert und das somit eigentlich nichts bringt.

Gast
2010-02-01, 16:34:13
Habs hinbekommen, einfach noch ne Variabel per JSON übergeben close ^^