PHP Pagination system

Tags:    php mysql

Kære udviklere!

Nu ligger det sådan at jeg lige har sat et (fungerende) pagination system op. Men jeg har et gyldent spørgsmål.

Hvis vi eksempelvis siger at der er over 5 links til de forskellige sider, hvordan får man så de resterende links til at blive til et punktum?

Eksempelvis:

Side1 - Side2 - Side3 - Side4 - Side5 - ... - Side76

Og hvis man er kommet op på eksempelvis side 28, så ser det nogenlunde således ud:

Side1 - ... - Side24 - Side25 - Side26 - Side27 - Side28 - ... - Side76

Ihvertfald noget i den stil.

Hvordan ville i gøres det bedst?



Min kode:

PHP
Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 25.12.2011 21:41 af Bruger #16025
4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Tænker om man ikke kunne gøre det lettere for sig selv?

$page = $_GET['page'];

if($page<50){
query("SELECT * FROM something ORDER BY id DESC LIMIT ". $page .", ". (50+$page));

print '<a href="">50</a>, 100, 150, 200.........';
}

Det er lavet lidt ud fra hvad jeg laver mit eget som, dog skal du nok tjekke din get var, for injuries..



Jeg laver det efter sideskift, hvor der findes 10 indlæg på hver side. Det er det som er blevet ønsket :).



Okay.. :)

Mht. det med punktummer, kan du jo sætte en if sætning ind i en while lykke, så den siger.

$amount_querys = 10000; // Her tæller du hvor rows der er i tabellen.
$i=0;

while($i<=$amount_querys){

if($i>=100 || $i<= 9900){
print '.....'; // printer punktummer imellem side 10 og site 990
} else {
print 'side'. $i; // Printer side 1-10
}

}

Det er sådan jeg lige kan se det.. :)



Noget i denne stil måske? (der er kommentarer, men det meste burde give sig selv)

Fold kodeboks ind/udPHP kode 


Bemærk at koden ikke er testet, og kun skal bruges som en idé til hvordan du kan gøre.

F.eks. har jeg ikke escapet, og tjekket $_GET['p'] for en gyldig værdi.
Og man kan sikkert også koge scripte en smule ned, eller tilføje funktionalitet, det var bare lige hurtigt skrevet. :D

Og måske lave det som en funktion.. Hvis du nu skal bruge koden flere steder, og så det ikke er så grimt.



Indlæg senest redigeret d. 26.12.2011 14:47 af Bruger #10410
t