Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > Övriga serverspråk > PHP

Paging klass

Triskis
Triskis

Gradering

#20602

Tjena!

Letar efter en bra Paging klass och tänkte att jag kunde ta och skriva en tråd här i hopp om lite mer aktivitet på köpet. Ja, ni får gärna tipsa om "Paging" klasser ni använder eller använt förut.

ID: #20602 | Skapades: 2011-01-11 17:12:10 | Tråden har 1 svar och har lästs 384 gånger.

Shadi
Shadi

Gradering

#20606

Jag har faktiskt ingen specifik klass som jag använder mig av, utan jag använder oftast koden nedan. Det den gör är att visa nuvarande sida + de X kommande och föregående sidorna.

Den här biten hämtar upp alla trådar och definierar alla viktiga variabler:

<?php
$rowsPerPage = 25;
$currentPage = 1;
$numRows = 0;

if(isset($_GET['page'])) { $currentPage = mysql_escape_string($_GET['page']); }

if(!is_numeric($currentPage)) { $currentPage = 1; }

$numRows = $sql->value("SELECT COUNT(*) FROM tblposts"); //How many posts are there?
$maxPage = ceil($numRows / $rowsPerPage); //How many pages are there to print?

if($currentPage>$maxPage){$currentPage = 1;}
$offset = ($currentPage - 1) * $rowsPerPage; //Offset

$postData = $sql->query("SELECT * tblposts LIMIT $offset, $rowsPerPage");

?>

Nedanstående kod skriver ut själva pagingen:

<?php
$pageDiff = 10;
$startPage = (($currentPage-$pageDiff<=1) ? 1:($currentPage-$pageDiff));
$endPage = (($currentPage+$pageDiff>
=$maxPage) ? $maxPage:($currentPage+$pageDiff));

echo "<div class=\"paging\"><span class=\"header\">Navigering:</span> ";
if($currentPage > 1) {
     echo " <a href=\"/$categoryPath-forum/$threadNamePath-$threadId/1/\" title=\"F&ouml;rsta sidan\">&laquo;</a>";
     echo " <a href=\"/$categoryPath-forum/$threadNamePath-$threadId/".($currentPage-1)."/\">F&ouml;reg&aring;ende</a>";
} else {
     echo " <a href=\"#none\">&laquo;</a>";
     echo " <a href=\"#none\">F&ouml;reg&aring;ende</a>";
}
for($page = ($startPage); $page <= $endPage; $page++) {
    if ($page == $currentPage){
        echo " <span>$page</span> "
;
    } else {
        echo " <a href=\"/$categoryPath-forum/$threadNamePath-$threadId/$page/\">$page</a> ";
    }
}
if($currentPage < $maxPage) {
    echo " <a href=\"/$categoryPath-forum/$threadNamePath-$threadId/".($currentPage+1)."/\">N&auml;sta</a>"
;
    echo " <a href=\"/$categoryPath-forum/$threadNamePath-$threadId/$maxPage/\" title=\"Sista sidan\">&raquo;</a>";
} else {
    echo " <a href=\"#none\" class=\"next disabled\">N&auml;sta</a>";
    echo " <a href=\"#none\" class=\"last disabled\">&raquo;</a>";
}
echo "</div>";

?>

Jag redigerade min kod direkt här i tråden, så det finns en risk för felstavning.

Administratör på AspKoll.se!
Taggar: klass, php,
ID: #20606 | Skapades: 2011-01-11 20:54:13
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy