webForumDet fria alternativet

Paging - kan någon förklara?

PHP

9 svar · 434 visningar · startad av aasah

Medlem sedan mars 20034 471 inlägg
Frågan#1

Jag har en MySQL tabell med gästboksinlägg:

((ID) namn, DatumOTid, Titel, Inlagg)

För närvarande skrivs alla inlägg i gästboken ut när sidan laddas. Även om det dröjer innan detta ger problem, har jag hellre en paging långt före problemen än tvärtom. Tyvärr fattar jag inte riktigt hur en paging funkar, kan någon förklara? :q

Det jag vill är att man ska se (tex) de senaste 20 inläggen i en sådan ordning att de nyaste kommer sist. Om det totalt finns mer än 20 inlägg ska man kunna visa 20 i taget, hela tiden så att de nyaste inom den "omgivning" man tittar på ligger sist. Går detta att lösa? Hur i så fall?

Jag fattar alltså inte ens hur SQL-frågan som fixar detta ser ut. Och i och med det blir det ursvårt att få till något överhuvudtaget. Dessutom har jag dålig koll på PHP-sidan av problemet...

Några tips? :q

Medlem sedan juni 20006 031 inlägg
#2

Tycker att du ska ta och kolla igenom Kjells paging skript.

Har själv använt mig av det och det är ganska enkelt att förstå sig på.

http://www.webforum.nu/showthread.php?s=&threadid=71581&forumid=151

Medlem sedan mars 20032 667 inlägg
#3

En steg för steg guide:
http://www.phpnoise.com/tutorials/9/1

Medlem sedan mars 20034 471 inlägg
#4

...

Medlem sedan mars 20034 471 inlägg
#5

K@llen skrev:

En steg för steg guide:
http://www.phpnoise.com/tutorials/9/1

Vad glad jag blev när jag såg den! :D ... Tills jag försökte komma till sida 2 vill säga... :( File Not Found... tyvärr. Suck!

Medlem sedan juni 20006 031 inlägg
#6

Funkar för mig, så testa igen. :)

Medlem sedan mars 20034 471 inlägg
#7

Pedda skrev:

Funkar för mig, så testa igen. :)

Nu gick det plötsligt! Tack! :D

Medlem sedan mars 20034 471 inlägg
#8

Började titta på detta "enkla" skript innan jag hittade tutorialen ovan.

Pedda skrev:

... Har själv använt mig av det och det är ganska enkelt att förstå sig på.

http://www.webforum.nu/showthread.php?s=&threadid=71581&forumid=151

$cur_page sätts ingenstans? :q Vad är det meningen att den ska ha för värde? :q

Medlem sedan dec. 1999757 inlägg
#9
while ($cur_page++ < $total_pages) {

$cur_page sätts alltså inte om inte antalet rader i mysql är fler än de som du vill ha på sidan ($max_per_page). Med andra ord, du har ingen nytta av $cur_page ifall endast en sida existerar.

Medlem sedan mars 20034 471 inlägg
#10

kjell skrev:

while ($cur_page++ < $total_pages) {

$cur_page sätts alltså inte om inte antalet rader i mysql är fler än de som du vill ha på sidan ($max_per_page). Med andra ord, du har ingen nytta av $cur_page ifall endast en sida existerar.

Åh! Det var alltså bara varningar jag fick, inte fel. Nåja man kan ju sätta dem till något innan.

Nu funkar skriptet som det är tänkt, vilket är ungefär tvärtom mot hur jag vill ha det...

Alltså säg att det finns tio knasiga kommentarer i vilka någon skrivit successivt ett, två, ... tio. Dvs kommentaren "ett" är äldst och "tio" yngst. Nu vill jag ha 3 kommentarer per sida (för att få ett hanterligt exempel). När sidan laddar med Kjells paging syns först:

1 av 4 ...
----------
ett
***
två
***
tre

och så kan man trava igenom senare kommentarer efteråt. Sista sidan innehåller bara "tio". Det jag skulle önska var att man kunde få se:

4 av 4 .....
----------
åtta
***
nio
***
tio

Dvs att posterna listas i den ordning de kommer in, men att defaultvärdet på pagingen är att lista sista sidan, fast med fullt antal poster, och sista sidan innehåller bara "ett".

Är detta omöjligt att få till? :q

Red: Förtydligande.

265 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)