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?
Annonceindlæg fra Infor
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.
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; ?