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 ();
?>
Ah, jag missförstod din fråga.
Jag trodde att du bara ville visa länkar från sida 1 till sida 10. Jag orkar tyvärr inte tänka så ingående just nu, jag har precis kommit hem från jobbet och öppnat en Jahki - så jag sitter mest och njuter.
Hittade lite exempel här hur man kan gå tillväga. Ska nu bygga om och förbättra dessa så de passar mig. Om någon har samma beskymmer finns exempel och artiklar om ämnet här: