<meta charset="utf-8" />
 
<?php
 
/**
 
 * This is a simples test file
 
 * Be creative to implement to your needs!
 
 *
 
 * @category   Database Pagination Test
 
 * @package    PDO_Pagination
 
 * @author     Gilberto Albino <[email protected]>
 
 * @copyright  2010-2012 Gilberto Albino
 
 * @license    Not applied
 
 * @version    Release: 2.0
 
 * @since      Class available since Release 1.0
 
 */
 
 
/** Check your file system path! **/
 
require_once dirname( __FILE__ ) . '/../libs/PDO_Pagination/PDO_Pagination.php';
 
 
/**
 
 * The reason why I kept this conection variable outside the class
 
 * is because you may need to inject multiple connections in the PDO_Pagination
 
 * So it gets pretty easier for you 
 
 * Feel free to use any connection logic you may wish!
 
 */
 
try {
 
    /**
 
     * The PDO String connection is for mysql
 
     * Check the documentation for your database
 
     */
 
    $connection = new PDO(
 
        'mysql:host=localhost;dbname=test', 
 
        'root', 
 
        ''
 
    );  
 
    /** As I am brazilian I always use UTF-8 enconding 
 
     * in files, connections and charset 
 
     */
 
    $connection->query("SET NAMES UTF8");
 
    
 
} catch ( PDOException $e ) {
 
    
 
    print "Error!: " . $e->getMessage() . "<br/>";
 
    die();
 
    
 
}
 
 
/** 
 
 * Here we make an object from PDO_Pagination 
 
 * injecting the $connection variable that is an instance of PDO
 
 **/
 
$pagination = new PDO_Pagination( $connection );
 
 
/**
 
 * Once you have created an PDO_Pagination object you can
 
 * set the following parameters:
 
 * 
 
 * @example
 
 *   $pagination->setLimitPerPage( $limit );
 
 *   $pagination->setPaginator( $paginator );
 
 *   $pagination->setRange( $range );
 
 *   $pagination->setSQL( $string );
 
 *  
 
 */
 
 
 
 
/** Duh, the SQL itself **/
 
$pagination->setSQL( "SELECT * FROM colors ORDER BY color_hex" );
 
$pagination->setPaginator( 'paghex' );
 
 
$results = $connection->query( $pagination->getSQL() );
 
 
/**
 
 * Basic HTML for testing purpuses. No styles in the package 
 
 * Feel free style it as you wish the following selectors
 
 * #result-bar {} 
 
 * #result-bar span {}
 
 * #result-bar-not-found {}
 
 * #navigation-bar {}
 
 * #navigation-bar a span {}
 
 * #navigation-bar a.first {}
 
 * #navigation-bar a.previous {} 
 
 * #navigation-bar a.current {}
 
 * #navigation-bar a.others {}
 
 * #navigation-bar a.next {}
 
 * #navigation-bar a.last {}  
 
 */
 
print '<div style="float:left; margin-right: 25px">';
 
print '<h1>Ordered by Hexadecimal Value</h1>';
 
 
/**
 
 * The result bar will inform you if no results were found
 
 * so you should keep it outside the controll structure below 
 
 */
 
$pagination->printResultBar();
 
 
if( $pagination->getTotalOfResults() > 0    ) {
 
    print '<table width="500" cellpadding="4" border="1">';
 
    print '<tr><td></td><th>Hexadecimal</th><th>Name</th></tr>';
 
    foreach( $results as $r ) {
 
        printf("
 
            <tr>
 
                <td width=\"20\" style=\"background: %s\"></td>
 
                <td width=\"70\">%s</td>
 
                <td>%s</td>        
 
            </tr>
 
            "
 
            , $r['color_hex']
 
            , $r['color_hex']
 
            , $r['color_name']
 
        );
 
    }
 
    print '</table>';
 
 
    $pagination->printNavigationBar();
 
}
 
print '</div>';
 
 
 
/**
 
 * Here you could even be connected from another database
 
 * $connection2 = new PDO( database two connection string )
 
 */
 
$pagination->setSQL( "SELECT * FROM colors ORDER BY color_name" );
 
$pagination->setPaginator( 'pagname' );
 
 
$results = $connection->query( $pagination->getSQL() );
 
 
print '<div style="float:left">';
 
print '<h1>Order by Color Name</h1>';
 
 
/**
 
 * The result bar will inform you if no results were found
 
 * so you should keep it outside the controll structure below 
 
 */
 
$pagination->printResultBar();
 
 
if( $pagination->getTotalOfResults() > 0    ) {
 
    print '<table width="500" cellpadding="4" border="1">';
 
    print '<tr><td></td><th>Hexadecimal</th><th>Name</th></tr>';
 
    foreach( $results as $r ) {
 
        printf("
 
            <tr>
 
                <td width=\"20\" style=\"background: %s\"></td>
 
                <td width=\"70\">%s</td>
 
                <td>%s</td>        
 
            </tr>
 
            "
 
            , $r['color_hex']
 
            , $r['color_hex']
 
            , $r['color_name']
 
        );
 
    }
 
    print '</table>';
 
 
    $pagination->printNavigationBar();
 
}
 
print '</div>';
 
 
/** Just for the sake of good habit **/
 
$connection = null; 
 
 |