<?php
/*
*******************************************************
simple_page_iterator.php
A simple example of using the PHP class PageIterator
*******************************************************
*/
// Include the PageIterator file
$includeFolder = './';
require_once $includeFolder . 'PageIterator.inc';
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Simple PageIterator Example</title>
<meta name="AUTHOR" content="Karsten Juul Mikkelsen" />
<meta name="description" content="A simple example of using the PHP class PageIterator" />
</head>
<body>
<h1>Simple PageIterator example</h1>
<?php
// Create an array of circle dimensions to use as data
$circles = array();
for ($i = 0; $i < 100; $i++) {
$circles[$i]['radius'] = ($i + 1) * 2;
$circles[$i]['diameter'] = $circles[$i]['radius'] * 2;
$circles[$i]['perimeter'] = number_format($circles[$i]['diameter'] * pi(), 2);
$circles[$i]['area'] = number_format(($circles[$i]['radius'] * $circles[$i]['radius']) * pi(), 2);
}
// $pageNo is global variable sent as an argument in the URL
if (empty($pageNo)) $pageNo = 1;
// Create a PageIterator object for the specified page number
$paginator = new PageIterator(sizeof($circles), $pageNo);
// Print links to the previous and next pages
echo "<div align=\"center\"> \r\n";
while ($paginator -> hasNextPage()) {
$ndx = $paginator -> nextPage();
if ($ndx == $pageNo) { // The current page should not be a link
echo "[Page $ndx]";
echo ' ';
}
else {
echo '<a href="' . basename($PHP_SELF) . "?pageNo=$ndx" . '">';
echo "[Page $ndx]";
echo '</a> ';
}
}
echo " \r\n </div> \r\n";
echo "<br /><br /> \r\n";
// Print a table of the circle dimensions
echo "<table align=\"center\" cellspacing=\"5\"> \r\n";
echo " <caption>Circle Dimensions</caption> \r\n";
echo " <tr> \r\n";
echo " <th>#</th> \r\n";
echo " <th>Radius</th> \r\n";
echo " <th>Diameter</th> \r\n";
echo " <th>Perimeter</th> \r\n";
echo " <th>Area</th> \r\n";
echo " </tr> \r\n";
// Output elements from $circles
while ($paginator -> hasNextElement()) {
$ndx = $paginator -> nextElement();
echo " <tr align=\"right\"> \r\n";
echo " <td>" . ($ndx + 1) . ".</td> \r\n";
echo " <td>" . $circles[$ndx]['radius'] . "</td> \r\n";
echo " <td>" . $circles[$ndx]['diameter'] . "</td> \r\n";
echo " <td>" . $circles[$ndx]['perimeter'] . "</td> \r\n";
echo " <td>" . $circles[$ndx]['area'] . "</td> \r\n";
echo " </tr> \r\n";
}
echo "</table> \r\n";
?>
</body>
</html>
|