session_destroy(); } if (!isset($_SESSION['collection'])) { $_SESSION['collection'] = new LivreIterator(); $_SESSION['debut'] = 1; $_SESSION['taillePage'] = 10; } if (isset($_GET['suivant'])) { $_SESSION['debut'] += $_GET['suivant'] * $_SESSION['taillePage']; } echo "<p>**** " . count($_SESSION['collection']) . " ****</p>"; echo "<p>**** " . $_SESSION['debut'] . " -- " . $_SESSION['taillePage'] . " ****</p>"; $pageCourante = new LimitIterator($_SESSION['collection'], $_SESSION['debut'] - 1, $_SESSION['taillePage']); echo "<ul>"; foreach ($pageCourante as $val) { echo "<li>"; echo $pageCourante->key() . " " . $val->toJSON(); echo "</li> "; } echo "</ul>"; $decalageFirst = (int) (-1 * $_SESSION['debut'] / $_SESSION['taillePage']); $decalageLast = (int) ((count($_SESSION['collection']) - $_SESSION['debut']) / $_SESSION['taillePage']); $decalagePrev = $_SESSION['debut'] == 1 ? 0 : -1; $decalageNext = $_SESSION['debut'] + $_SESSION['taillePage'] > count($_SESSION['collection']) ? 0 : 1; $urlFirst = $_SERVER['PHP_SELF'] . "?suivant=" . $decalageFirst; $urlPrev = $_SERVER['PHP_SELF'] . "?suivant=" . $decalagePrev; $urlNext = $_SERVER['PHP_SELF'] . "?suivant=" . $decalageNext; $urlLast = $_SERVER['PHP_SELF'] . "?suivant=" . $decalageLast; echo "<p><a href='{$urlFirst}'>First</a> <a href='{$urlPrev}'>prev</a> <a href='{$urlNext}'>next</a> <a href='{$urlLast}'>Last</a></p>"; $urlReset = $_SERVER['PHP_SELF'] . "?reset"; echo "<p><a href='{$urlReset}'>Reset</a></p>";
<?php $xmlstring = <<<XML <?xml version = "1.0" encoding="windows-1251"?> <person> \t<name>Иван</name> \t<name>Вася</name> \t<name>Петя</name> \t<name>Джон</name> \t<name>Майк</name> \t<name>Лена</name> \t<name>Маша</name> \t<name>Даша</name> </person> XML; $offset = 3; $limit = 2; $it = new LimitIterator(new SimpleXMLIterator($xmlstring), $offset, $limit); foreach ($it as $r) { echo $it->key() . ' -- ' . $it->current() . '<br />'; }