Anders Moen Skrevet 17. mars 2008 Rapporter Del Skrevet 17. mars 2008 (endret) Hei Hvordan kan jeg gjøre sånn at det vises bare 10 eller 20 sider eller noe om gangen på antall sider man får opp i et pagination script? Koden jeg har: Klikk for å se/fjerne innholdet nedenfor <?php if(!isset($_GET['p'])) { $page = 1; } else { $page = intval($_GET['p']); } // How many results per page: $max_news = 1; $start = ($page * $max_news) - $max_news; $query = mysql_query("SELECT * FROM tabell WHERE sid = $id ORDER BY id DESC LIMIT $start, $max_news"); while($row = mysql_fetch_array($query)) { ?> while-løkke <?php } $sql = mysql_query("SELECT * FROM tabell WHERE sid = $id"); $result = mysql_num_rows($sql); $total_pages = ceil($result / $max_news); for($i = 1; $i <= $total_pages; $i++) { if($i == $page) { echo $i; } else { echo '<a href="index.php?p=' . $i . '">' . $i . '</a>'; } } ?> Hvis den nå får 30 resultater, så står det link til 29 sider + en vanlig tekst med hvilken side man er på, men hvordan kan gjøre slik at det blir sånn her liksom: altså sånn at i stedet for at det står 30 linker så står det bare 10 om gangen hvis noen skjønner...hehe takker for hjelp Endret 17. mars 2008 av Anders Moen Lenke til kommentar
kakkle Skrevet 18. mars 2008 Rapporter Del Skrevet 18. mars 2008 (endret) Hei Du må ha en variabel start på for løkken din, samt en varibel slutt. starten og slutten på for løkken beregnes ut fra hvor mange sider som skal vises, og hvilken side man er på. Skal prøve å forklare det uten å gi deg koden direkte; Startverdien blir aktivside - int(sidersomskalvises/2) Sluttverdien blir aktivside + int(sidersomskalvises/2) Dersom aktivside er mindre enn int(sidersomskalvises/2) blir startverdien 1 Dersom (aktivside + int(sidersomskalvises/2)) er større enn totalt antall sider, blir sluttverdien totaltantallsider. Sånn cirka... Gjør dette om til php kode, så har du løst det, tenker jeg. Dersom det jeg skrev ble helt uforståelig, så si fra, så kan jeg heller skrive litt kode, som kanskje blir litt lettere å forstå EDIT: Koden du får ut av dette må legges inn mellom $total_pages = ceil($result / $max_news); og for($i = 1; $i <= $total_pages; $i++) { Denne siste kan f.eks se slik ut etter du er ferdig: for($i = $forstart; $ i<= $forslutt; $i++) { Endret 18. mars 2008 av kakkle Lenke til kommentar
RipeX Skrevet 18. mars 2008 Rapporter Del Skrevet 18. mars 2008 Sjekk ut den her video tutorial, hjalp meg veldig mye http://www.sampsonvideos.com/videos/PHP/PHP_Pagination/ Lenke til kommentar
Anders Moen Skrevet 18. mars 2008 Forfatter Rapporter Del Skrevet 18. mars 2008 Takk for svar folkens Skal se litt nærmere på svarene i morgen, er for trøtt akkurat nå hehe Lenke til kommentar
Anders Moen Skrevet 19. mars 2008 Forfatter Rapporter Del Skrevet 19. mars 2008 Jaja, fikk ikke sove i natt, så da prøvde jeg ut dette alikevel, og det funka (+ litt modifiseringer selvfølgelig hehe) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå