Avatar billede Jakie Juniormester
07. januar 2013 - 20:05 Der er 3 kommentarer og
1 løsning

Pagination af array foreach loop?

Hej eksperter.

Er igang med at lave et pagination script, men det har ikke lykkedes mig.

Min udput kode er:

<table>
<?php
$array = $this->user;

      foreach($array as $key => $value) {
 

        echo '<tr>';
        echo '<td>' . $value['bruger_id'] . '</td>';
        echo '<td>' . $value['bruger_brugernavn'] . '</td>';
        echo '</tr>';


}
        ?>
</table>

Hvordan får jeg lavet pagination ud fra dette?
Avatar billede Fnugus Nybegynder
07. januar 2013 - 21:33 #1
Noget i retning af flg. ville være en simpel løsning:

<table>
<?php
$array = $this->user;
if(isset($_GET['start'])) {
    $start = $_GET['start'];
} else {
    $start = 0;
}
$count = 0;
$items_per_page = 10;

foreach($array as $key => $value) {
        if($count <= $start) {
            continue;
        }
        $count++;
        echo '<tr>';
        echo '<td>' . $value['bruger_id'] . '</td>';
        echo '<td>' . $value['bruger_brugernavn'] . '</td>';
        echo '</tr>';

        if($count > $start + $items_per_page) {
            break;
        }
}
// links
$links = ceil(count($array) / $items_per_page);
for($i = 1; $i <= $links; $i++) {
    echo "<a href=\"?start=" . ($i * 10) . "\">Page " . $i . "</a> - ";
}
        ?>
</table>

------------
En ret primitiv og enkel måde at gøre det på, men du kan bygge videre på princippet.
Avatar billede Jakie Juniormester
07. januar 2013 - 22:39 #2
Hej.

Tak for dit svar. Jeg har nu prøvet at gøre koden brugbar, men det virker ikke.

Altså din kode eksekvere 1 på første side.

Jeg må indrømme, at uden kommentar forstår jeg ikke logikken.

Hvorfor er fx count = 0 og ikke count($array) = $count; ?
Avatar billede Jakie Juniormester
09. januar 2013 - 17:49 #3
Du må gerne vedlægge svar.
Avatar billede Jakie Juniormester
13. februar 2013 - 00:25 #4
Intet svar afgivet - jeg vedlægger svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester