Hej, jag har en paging som ser ut enligt nedan. Problemet är att det blir en hel massa sidor som listas i navigeringen. Kan man göra så att den bara visar 10 sidor i taget, sedan när man är på t ex sida 10 så listar den de 10 nästkommande sidorna?
// *** inkludera ett connectionobjekt ***
require("connection.php");
if(!$PageCounter)
$PageCounter = 0;
// *** sätt antal poster per sida till önskat värde ***
$intPageSize = 15;
// *** räkna ut aktuell sida ***
$PageNow = $Page * $intPageSize;
// *** räkna antal poster med funktionen count() ***
$strSQL = mysql_query("SELECT COUNT(*) AS intTotal FROM Forums_topics WHERE intForumId = $forumid");
if(mysql_numrows($strSQL) > 0)
// *** definiera och tilldela intTotalRecords antalet poster totalt
$intTotalRecords = mysql_result($strSQL,0,"intTotal");
// *** beräkna hur många sidor det blir ***
$HowManyPages = $intTotalRecords / $intPageSize;
// *** avrunda antalet sidor ***
$HowManyPages = Ceil($HowManyPages);
// *** tilldela whichpage ett värde ***
$WichPage = $Page + 1;
// *** Gör en select och loopa ut alla trådar ***
$strSQL = "SELECT intThreadId, intForumId, intMemberId, dteDate, strSubject, intThreadMessId, intLocked, intFlyttad
FROM Forums_topics WHERE intForumId = $forumid ORDER BY dteDate ASC LIMIT $PageNow,$intPageSize";
$Result = mysql_query( $strSQL )
or die( mysql_error() );
if( mysql_num_rows( $Result ) < 1 )
{
print <p><b>Det fanns inga inlägg i detta forum</b></p>\n\n");
}
else {
while ($data = mysql_fetch_array($Result)) {
// *** definiera variabler som ska användas ***
$threadMessId = (int) $data["intThreadMessId"];
$memberId = (int) $data["intMemberId"];
$subject = $data["strSubject"];
$locked = (int) $data["intLocked"];
$moved = (int) $data["intFlyttad"];
$dteDate = $data["dteDate"];
print ("<a href=\"viewmess.php?threadId=$threadMessId\">$subject</a>\n\n");
// *** Hämta ut vem som startade tråden ***
$sql = "SELECT intMemberId, Username, AnvId
FROM Forums_topics
INNER JOIN Profil
ON intMemberId = AnvId
WHERE intMemberId = $memberId ";
$Resultat = mysql_query( $sql )
or die( mysql_error() );
if( mysql_num_rows( $Resultat ) < 1 )
{
print <p><b>Hittade ingen trådskapare</b></p>\n\n");
}
else {
// *** presenterar en massa dynga här ***
// *** presentera aktuell sida, hur många sidor totalt och antal poster totalt ***
if($Page >= 0) {
print ("Sidor totalt: $HowManyPages ");
// *** skriv ut föregåendelänk ***
if($Page == 0) {
print (" ");
}
else {
$prevPage = $Page - 1;
print (" <a href=\"threadlist.php?forumid=$forumid&Page=$prevPage\">Föregående</a> ");
}
// *** loopa ut sidnummer och skriv ut länk på alla utom på aktuell sida ***
for($i=1; $i < $HowManyPages + 1; $i++) {
$intCounter = $i - 1;
if($WichPage == $i)
print ("<b>[$i]</b>");
else
print (" <a href=\"threadlist.php?forumid=$forumid&Page=$intCounter\">$i</a> ");
}
// *** Skriv ut nästalänk ***
if($Page == ($HowManyPages - 1)) {
print (" ");
}
else {
$NextPage = $Page + 1;
print (" <a href=\"threadlist.php?forumid=$forumid&Page=$NextPage\">Nästa</a> ");
}
}
mysql_close ();
?>