webForumDet fria alternativet

hmmm

7 svar · 329 visningar · startad av patrik2002

patrik2002Medlem sedan okt. 2001253 inlägg
#1

ja har ett litet problem.... jag vill att php själv ska kolla hur många inlägg jag har på ett ställe och utifrån detta göra en
<<bakåt 1 2 3 4 5 6 7 8 9 10 frammåt>> till mitt forum alltså om det är hundra inlägg så vill jag att php automatiskt räknar ut hur många sidor det ska bli om det är 2 inlägg per sida. Det ska max vara 10 stycken sidor i navigeringsmenyen alltså:

<<bakåt 1 2 3 4 5 6 7 8 9 10 ... frammåt>>
och inte:
<<bakåt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 frammåt>>
hur gör jag detta?

SPiNMedlem sedan mars 20007 896 inlägg
#2

Ungefär så här:

...
$numOfPostsPerPage = 10;

$mysqlResult = mysql_query ( "SELECT COUNT(fld) FROM tbl" );
$numOfPosts = ( int ) mysql_result ( $mysqlResult, 0 );

$numOfPages = ( int ) $numOfPosts / $numOfPostsPerPage;

echo "[Bakåt] ";
for ( $i = 1; $i < ( $numOfPostsPerPage + 1 ) || $i < ( $numOfPages + 1 ); $i++ ) {
     echo "[" . $i . "] ";
}
echo "[Framåt]";
...

Förslagsvis pillar du in länkar där också. ;)

TimMedlem sedan jan. 2002115 inlägg
#3
$i < ( $numOfPostsPerPage + 1 ) || $i < ( $numOfPages + 1 );

Förklara gärna ovanstående. Varför + 1, varför ELLER.

SPiNMedlem sedan mars 20007 896 inlägg
#4

+1:
Man behöver inte ha det, man kan lika gärna sätta operatorn till =< ( Är under eller lika mycket som ). Eftersom att for-loopen kör tills $i = 9 i det här fallet, och han ville ha 10 utskrivna, så plussar jag på en så att den kör tills $i = 10.

||:
Eftersom att det inte är säkert att det finns så pass många poster i databasen så att det blir 10 sidor, skriver den antingen ut tills det blir 10 eller det faktiskta antal sidor som finns.

Hoppas du blev klokare med min luddiga förklaring. :)

psykologMedlem sedan apr. 2000137 inlägg
#5

Men SpiN, den börjar väl på noll?

SPiNMedlem sedan mars 20007 896 inlägg
#6

Nope:

for ( $i = 1;...
patrik2002Medlem sedan okt. 2001253 inlägg
#7

det konstiga är att den skriver ut 1 2 3 4 5 6 7 8 9 10 direkt även om det inte finns det antalet poster i databasen....+ om ja länkar till samma sida asså <a href='visanews.php?visa=".$i."'> hur får jag då sidan att visa d 10 nyheter som ska visas asså om man trycker på 3 så ska 30-40 visas...

patrik2002Medlem sedan okt. 2001253 inlägg
#8

men jag ville att den skulle anpassa sig efter hur många poster... om det finns över 100 alltså mer än tio länkar så vill ja ju att den skriver ut tio men inte mer. när man sedan är på länk 2 så hoppar den över ettan men skriver istället 11. Om det inte finns 100 inlägg så vill ja ju att den bara ska va det antal som behövs, alltså om jag har 30 inlägg så vill jag att det bara ska vara 3 länkar där nere..... hoppas någon förstår ;)

134 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)