PHP Classes

File: simple_page_iterator.php

Recommend this page to a friend!
  Classes of Karsten Juul Mikkelsen   PageIterator   simple_page_iterator.php   Download  
File: simple_page_iterator.php
Role: Example script
Content type: text/plain
Description: Simple example
Class: PageIterator
Generate page links browse a large set of data
Author: By
Last change:
Date: 21 years ago
Size: 2,975 bytes
 

Contents

Class file image Download
<?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
'&nbsp; ';
    }
    else {
        echo
'<a href="' . basename($PHP_SELF) . "?pageNo=$ndx" . '">';
        echo
"[Page $ndx]";
        echo
'</a>&nbsp; ';
    }
}
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>